Первоначально я думал, что ответ Рида был тем, чем я был. В моей заявке я хотел использовать «под-свойство» для установки свойства на ярлыке формы. (. Я пытался излучать только свойство ярлыка, которые я хотел доступные для пользовательского элемента управления)
Я попытался это:
Public Class Fruit
Private _name As New Translations
Public Property Name As Translations
Get
Return _name
End Get
Set(value As Translations)
_name = value
_PrimaryCaps = _name.Primary.ToUpper
End Set
End Property
'Private variable is automatically added for unexpanded property
Public Property PrimaryCaps As String
End Class
Public Class Translations
Public Property Primary As String
Public Property Spanish As String
End Class
Тогда
Dim myFruit As New Fruit
myFruit.Name.Primary = "Apple"
myFruit.Name.Spanish = "Manzana"
Dim primaryCaps As String = myFruit.PrimaryCaps
Жутко - мне, по крайней мере - это не работает; myFruit.PrimaryCaps возвращает ничего, а не надеется на «APPLE». Похоже, что Set for Name никогда не выполняется. (Однако размещение задания _PrimaryCaps выше Get Return работает.)
(Я понимаю, что свойство PrimaryCaps можно добавить в класс Translations, но это опять не помогает, если вы хотите установить чужой переменной из экземпляра Fruit.)
Я не знаю, является ли это «по дизайну», просто ли я неправильно понял предполагаемую функциональность или что-то еще. Одна вещь, которую я сделал после дальнейших исследований, заключалась в том, что эта структура не очень распространена вообще в .NET; например, установка размера элемента управления выполняется следующим образом:
oControl.Size = New Drawing.Size(20, 15)
, а не просто установка, скажем, ширина свойство непосредственно:
oControl.Size.Width = 20
(Последний не будет скомпилирован: «Выражение значение и поэтому не может быть целью присвоения. »)
Если у кого-то есть более глубокое понимание, чем я, я хотел бы это услышать. Я знаю, что это можно просто сделать, например, используя экземпляр Fruit, но это не главное.
Рассматривали ли вы использование файлов ресурсов? – Caramiriel
Я не знаком ...извините –
http://jebarson.info/post/2011/03/24/Localization-Multilingual-Support-Using-Resource-Files-In-net.aspx –