0
我正在研究一些部分类,但我无法弄清楚如何去做。 这是我的课:类和数组如何初始化?
Partial Public Class Form
Private InfoField() As Info
Private FormgroupField() As FormGroup
Private tittle As String
Public Property Info() As Info()
Get
Return Me. InfoField
End Get
Set
Me. InfoField = value
End Set
End Property
Public Property FormGroup() As FormGroup()
Get
Return Me.GromGroupField
End Get
Set
Me.FormGroupField = value
End Set
End Property
Public Property tittle() As String
Get
Return Me.tittleField
End Get
Set
Me.tittleField = value
End Set
End Property
End class
Partial Public Class Info
Private ChangeFormField() As ChangeForm
Private formYearField() As FormYea
Private idField As String
Public Property ChangeForm() As ChangeForm()
Get
Return Me.changeFormField
End Get
Set
Me.changeFormField = value
End Set
End Property
Public Property FormYear() As FormYear()
Get
Return Me.formYearField
End Get
Set
Me.formYearField = value
End Set
End Property
Public Property id() As String
Get
Return Me.idField
End Get
Set
Me.idField = value
End Set
End Property
End Class
Partial Public Class ChangeForm
Private idField As String
Private valueField As String
<properties goes here>
End Class
Partial Public Class FormYear
Private idField As String
Private valueField As String
<properties goes here>
End Class
以及类FormGroup组织是一样的。
我想创建部分类来扩展这些类,所以当我在另一个项目中使用所有这些类时,我只需要处理(请参阅)最上面的类(Form)而不是其他类(如Info和FormGroup这是我喜欢做的事:?
Partial Public Class Form
Public Sub Init()
Me.Info = New Info
Me.FormGroup = New FormGroup
Me.Info.Init()
Me.FormGroup.Init()
End Sub
End Class
Partial Public Class Info
Public Sub Init()
Me.FormYear = New FormYear
Me.ChangeForm = New ChangeForm
Me.changeForm.Init()
End Sub
但我不能写
Me.Info = New Info
Me.FormGroup = New FormGroup
,因为它与类数组我如何能做到这一点在我的表格和信息类
提前致谢。
谢谢!但是当我使用分部类时,我怎么能在构造函数中做到这一点?当我的“原始”类存在时,我认为我的分部类中没有构造函数?或者这是错误的? – Liss
@Liss不,你不能在两个不同的地方定义相同的方法。如果部分类的另一部分创建了一个默认构造函数,那么您坚持使用这个Init方法。没有遇到的部分类阻止我创建默认构造函数。您应该避免使用部分类,除非这些部分中的某一个是由工具(如WinForm/WPF设计人员)生成的,因为他们将代码分开时没有太多好处。使用'FixedCollection',可以让你初始化内联(例如:'Private InfoField As New FixedCollection(Of Info)')并完全避免构造函数问题。 –
谢谢!是的,我的“原始”部分类是自动生成的,并有一个构造函数,我不能改变这个自动生成的类。那么对于我来说,使用部分类来扩展“原始”类是不是最好的选择? – Liss