我不知道是否有辦法讓一個類實例接受參數並根據此參數生成結果。如何使類實例接受參數?
這是在VB.net內置類很常見的,但我不知道如何使它自己
Dim myNumbers as new NUMBERS
myNumbers.First = 1
myNumbers.Second = 2
Msgbox(myNumbers(1,2,3,4,5,5).max)
在上面的代碼myNumber
是接受一些數字,並返回最大的一類。
我不知道是否有辦法讓一個類實例接受參數並根據此參數生成結果。如何使類實例接受參數?
這是在VB.net內置類很常見的,但我不知道如何使它自己
Dim myNumbers as new NUMBERS
myNumbers.First = 1
myNumbers.Second = 2
Msgbox(myNumbers(1,2,3,4,5,5).max)
在上面的代碼myNumber
是接受一些數字,並返回最大的一類。
您可以使用Default
properties來實現此目的。如果你不想讓它成爲Set
-able,你可以將它標記爲ReadOnly
,如果你不想返回一個特定的值,只需返回Nothing
。
返回的東西從屬性:
Default Public ReadOnly Property Calculate(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer) As Integer
Get
Dim d As Integer = a * b + c + Me.First
DoSomeStuff(d)
Return d * Me.Second
End Get
End Property
返回什麼:
Default Public ReadOnly Property Calculate(ByVal a As Integer, ByVal b As String) As Object
Get
Dim c As String = DoStuff()
DoSomeOtherStuff(a, b, Me.First, Me.Second, c)
Return Nothing
End Get
End Property
用例:
'With return value.
Dim num As Integer = myNumbers(34, 5, 13)
'Ignoring return value.
Dim dummy As Object = myNumbers(64, "Hello World!")
'Ignoring return value.
Dim dummy As Object = myNumbers.Calculate(13, "I am text")
與此唯一背後是你必須做一些與返回的值(例如分配給一個變量)。簡單地做:
myNumbers(64, "Hello World!")
不起作用。
謝謝Visual..this是genuis – DragonInCresent
@DragonInCresent:很高興能幫到你!祝你的項目好運! –
類別不帶參數,方法做;那些看起來像屬性。我們無法看到NUMBERS,所以我們只能猜測出什麼是錯的 – Plutonix
在你的例子中,First和Second是類的屬性,Max是一個函數。閱讀關於類的方面。 – Blackwood
也許你在談論的是具有參數的類構造函數? – user5226582