У меня есть объект с именем 'PERSON'
Этот объект person имеет свойство title, firstName & Surname, а также многие другие, которые на данный момент не имеют значения.Он также имеет свойство только для чтения с именем Fullname, которое объединяет два или три параметра, упомянутых выше, в зависимости от необязательного параметра withTitles, передаваемого при вызове PERSON.FULLNAME
PERSON.FULLNAME (true) <- добавитназвания, если есть какие-либо </p>
PERSON.FULLNAME (false) <- даст имя без заголовка </p>
Public ReadOnly Property FullName(Optional ByVal withTitle As Boolean = False) As String
Get
Dim _ttle As String = Me.Title
Select Case withTitle
Case True
If _ttle.Length > 0 Then _ttle += " " Else _ttle = String.Empty
Case False
_ttle = String.Empty
End Select
If Me.FirstName <> "" And Me.LastName <> "" Then
Return _ttle & Me.FirstName & " " & Me.LastName
ElseIf Me.FirstName = "" And Me.LastName <> "" Then
Return _ttle & Me.LastName
ElseIf Me.FirstName <> "" And Me.LastName = "" Then
Return _ttle & Me.FirstName
ElseIf Me.FirstName = "" And Me.LastName = "" Then
Return Me.ContactName
End If
End Get
End Property
Мои проблемы появляются, когда я пытаюсь связать свою PERSONCOLLECTION (коллекциюОбъект PERSON) для RadioButtonList или любого другого элемента управления привязкой при этом.
RadioButtonList1.DataSource = _personCollection
RadioButtonList1.DataTextField = "FullName"
RadioButtonList1.DataValueField = "ContactID"
RadioButtonList1.DataBind()
Я получаю сообщение об ошибке: PERSON не содержит свойства 'FullName'.Если я изменю это значение на любое другое свойство, которое не принимает параметр, оно работает как положено.
Теперь я предполагаю, что процедура привязки не может обрабатывать необязательные или обязательные параметры для свойств объекта, верно?Есть ли лучший способ сделать это?
Я думал о циклическом перемещении по коллекции, чтобы добавить их вручную, но это своего рода побеждает объект DataBinding!
Любая помощь будет оценена.Кев.