2013-12-06 2 views
-1

Я пытаюсь создать новые классы и должен использовать математические операторы +, _, *, /. Поскольку я новичок в vb.net и занимаюсь классами, я действительно не понимаю, почему использование операторов вызывает ожидаемую ошибку идентификатора. Это потому, что они зарезервированы или что-то еще? Как я могу использовать операторы в качестве нового класса?Создание новых классов с помощью математических операторов

Public Class MathOp 

Private + As String 
Private - As String 

End Class 
+1

Чтобы ответить на ваш вопрос, да, + и - зарезервированы операторы в vb.net. Если вы хотите создать свою собственную функциональность для них, вам придется перегружать их самостоятельно. – ryrich

+1

Информация доступна в [Операторские процедуры (Visual Basic)] (http://msdn.microsoft.com/en-us/library/xh17yw4c%28v=vs.110%29.aspx). –

ответ

1

Как я уже говорил, вам нужно будет реализовать свою собственную функциональность для операторов в классе, если вы хотите их использовать. Вот пример:

Public Class MathOp 

Private Readonly m_num As Double 

Public Sub New(ByVal num As Double) 
    m_num = num 
End Sub 

Public Readonly Property Num As Double 
    Get 
     Return m_num 
    End Get 
End Property 

Public Shared Operator +(ByVal lhs As MathOp, ByVal rhs As MathOp) 
As MathOp 
Return New MathOp(lhs.m_num + rhs.m_num) 
End Operator 

End Class 

Затем вы можете использовать в качестве таковых:

Dim m1, m2, m3 As MathOp 
m1 = New MathOp(1) 
m2 = New MathOp(2) 
m3 = m1 + m2 
Смежные вопросы