Vb.net 如何使类实例接受参数?

Vb.net 如何使类实例接受参数?,vb.net,class,oop,default,Vb.net,Class,Oop,Default,我想知道是否有一种方法可以使类实例接受参数并根据该参数生成结果 这在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 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")
不返回任何内容:

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")
用法示例:

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!")

不起作用。

类不接受参数,方法接受;这些看起来像是财产。我们看不到
数字
,因此我们只能猜测在您的示例中有什么错误,
第一个
第二个
是类的属性,
Max
是一个函数。请仔细阅读类的这些方面。也许你所说的是类构造函数有参数?@dragon:很高兴我能帮上忙!祝你的项目好运!