2014-06-30 36 views
2

我想将数组元素分配给自动实现的属性,但它不工作。为自动实现的属性赋值为字符串()

我的尝试:

Public Class A 
Public Property A() as String = New() {"Hello", "Friend"} 
End Class 

Public Class A 
Public Property A() as String = {"Hello", "Friend"} 
End Class 

但我总是得到错误字符串卡恩的类型一维数组的值不能转换成字符串。

任何人都可以帮助我吗?

回答

3

你必须使用的

Property A As String() 

代替

Property A() as String 

否则编译器假定一个string而不是string()

所以此工程:

Public Class Foo 
    Public Property A As String() = {"Hello", "Friend"} 
End Class 

当然你也可以使用一个构造函数:

Public Class Foo 
    Public Sub New() 
     A = {"Hello", "Friend"} 
    End Sub 
    Public Property A As String() 
End Class 

顺便说一句,有趣的是它为场中两种方式:

Public B1() As String = {"Hello", "Friend"} ' compiles 
Public B2 As String() = {"Hello", "Friend"} ' compiles 

附注:属性不应该与该类名称相同。所以我已经改名班了。

+1

谢谢,这是一个非常好的答案! – ruedi