假设您的类具有不包含setter的collection属性。
是否可以在实例化类时向此集合属性添加项目?
基本上,我正在尝试找到另一种语法来完成以下一行:
dim someClass = New SomeClass() With
{
.SomePropertyWithoutASetter = New List(Of int) From
{
1,
2,
3
}
}
当然,你不能做上面因为没有setter - 你只能通过这样做来添加东西给someClass.SomePropertyWIthoutASetter:
someClass.SomePropertyWIthoutASetter.Add(4);
然而,我真的需要能够在一条线上完成所有这一切(不要问为什么 - 长篇故事)。这实际上是可能的吗?
答案 0 :(得分:0)
在构造函数中添加它。
Dim someclass As New SomeClass(4)
自定义类:
Public Class SomeClass
Private ints As New List(Of Integer)
Sub New(int As Integer)
ints.Add(int)
End Sub
...
End Class
答案 1 :(得分:0)
如果您拥有的课程是可继承的,请尝试以下
Public Class NewClassName
Inherits SomeClass
Sub New(ByVal Value As Integer)
MyBase.SomePropertyWIthoutASetter.Add(Value)
End Sub
End Class
这个新类将公开它继承的类的所有方法,属性等,并且还将根据您的需要使用构造函数。