我有一个对象,叫做 'PERSON'
这个人对象有一个标题、名字和姓氏属性以及许多其他目前不相关的属性。它还有一个名为 Fullname 的只读属性,它根据调用 PERSON.FULLNAME 时传递的可选参数“withTitles”连接上面提到的两个或三个参数
PERSON.FULLNAME(true) <- 如果有任何标题,将添加标题
PERSON.FULLNAME(false) <- 将给出不带标题的名称
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 的对象!
任何帮助将不胜感激。凯夫。