Vb.net 将用户输入传递给类的新实例

Vb.net 将用户输入传递给类的新实例,vb.net,class,Vb.net,Class,好的,我已经在这里翻了20页,找不到我要找的。。。我在C#和其他语言中见过。。但不是Visual Basic 假设我有一门课: Public Class Cars Private doors as integer Private Liters as double Private otherStuff as string ' more code' end class 假设我还有一张表格。。我们称之为inputForm,它有许多文本框供用户输入这些特征。第一个文本框标记

好的,我已经在这里翻了20页,找不到我要找的。。。我在C#和其他语言中见过。。但不是Visual Basic

假设我有一门课:

Public Class Cars
    Private doors as integer
    Private Liters as double
    Private otherStuff as string

 ' more code'
end class
假设我还有一张表格。。我们称之为inputForm,它有许多文本框供用户输入这些特征。第一个文本框标记为nameTextBox。有没有办法将该文本框的字符串值指定为新车

类似于

dim nameTextBox.value as new car

??

类中的字段是私有的,因此它们没有多大用处-没有其他代码能够看到这些值

Public Class Car
    Public Property Make As String
    Public Property Model As String
    Public Property Year As Integer

    ' something the class may use/need but doesnt expose
    Private DealerCost As Decimal 

    ' the constructor - called when you create a NEW car
    Public Sub New(mk As String, md As String)
        Make = mk
        Model = md
    End Sub
    ...
End Class
通过只指定一个接受params的构造函数,我的意思是,如果不指定这些属性,就无法创建一辆新车。如果构造函数没有参数,那么您可以创建一个“空”car对象并单独设置每个属性。你可以同时做这两件事——称为超载——这样你就可以在一开始创建一辆有品牌和型号的汽车

作为公共属性,其他代码可以检查它们,看看这是什么类型的汽车

Dim myCar = New Car("Toyata", "Corolla")
myCar.Year = 2013
myCar.Color = Color.Blue
当然,使用的文本可以来自用户输入:

Dim myCar = New Car(tbMake.Text, tbModel.Text)
Dim yr As Int32
If Integer.TryParse(tbYear.Text, yr) Then
    myCar.Year = yr
Else
     ' ToDo: scold user
End If

你需要两样东西:1。接受字符串的构造函数。2. <代码>将汽车调暗为新车(nameTextBox.value)正常。。我需要那个构造函数中的任何东西吗?或者只是:Public Sub New(ByVal名称作为字符串)?