如果在代码中我想做类似下面的事情,我的类定义需要是什么样子? (请记住,水果/语言只是一个例子)
dim myfruit as new fruit()
myfruit.name = "apple"
myfruit.name.spanish = "manzana"
这是我的类(class),只是不知道如何添加“子属性”。
Public Class Fruit
Private _name As String
Public Property name() As String
Get
Return _name
End Get
Set(ByVal value As String)
_name = value
End Set
End Property
End Class
最佳答案
一般来说,要拥有“子属性”,您需要将属性本身设置为一个类。这意味着子属性实际上是顶级属性公开的类上的属性。
实际上,您可以将 name 属性从字符串更改为“Translations”类或类似类,即:
Public Class Fruit
Public Property Name As New Translations
End Class
Public Class Translations
Public Property Primary As String
public Property Spanish As String
End Class
但是,这可能会破坏您正在显示的代码,因为第二行需要具有不同的语法,即:
myfruit.Name.Primary = "green"
myfruit.Name.Spanish = "verde"
但是,如果此处的目标只是处理用户界面的翻译,则还有其他选择。详情见Introduction to International Applications Based on the .NET Framework在 MSDN 上。
关于vb.net - 如何将 "sub property"添加到类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18835295/