Я пытаюсь создать свойство, которое позволит установить фамилию на основе различных входных данных. Код, который вызывает это, анализирует поле имени. В некоторых случаях он будет иметь одну фамилию, в других - массив фамилий, которые необходимо объединить. Я хочу хранить свой код конкатенации в одном месте, чтобы упростить обслуживание.
Вот мой код, который, конечно, не работает:
Public Property LastName() As String
Get
Return _LastName
End Get
Set(ByVal value As String)
_LastName = value
End Set
End Property
Public WriteOnly Property LastName() As String()
Set(ByVal value As String())
For Each word As String In value
_LastName &= word & " "
Next
_LastName = _LastName.Trim
End Set
End Property
Я пробовал многочисленные варианты этого, даже помещая несколько Set в одно и то же свойство, но, похоже, ничего не работает. Должен быть какой-то способ получить массив и одно значение экземпляра. Компилятор четко знает, является ли входящий объект массивом или нет.
Я пытался работать только со свойством типа String (), но потом не могу вернуть String. Единственное решение, которое я могу придумать, это свойства с разными именами, которые затрудняют использование класса, или целая куча подпрограмм и функций, перегружающих друг друга.
Предложения
Chris