J'essaye de créer une propriété qui permettra le réglage d'un nom basé sur une variété d'entrées. Le code qui appelle ceci analyse un champ de nom. Dans certains cas, il aura un seul nom de famille, dans d'autres, un tableau de noms de famille qui doivent être concaténés. Je veux garder mon code de concaténation en un seul endroit pour faciliter la maintenance.Matrice de surcharge de jeu de propriétés et non-rangée
Voici mon code, ce qui bien sûr ne fonctionne pas:
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
J'ai essayé de nombreuses variations sur ce point, même mettre multifaces dans la même propriété, mais rien ne semble fonctionner. Il doit y avoir un moyen de prendre un tableau et une valeur d'instance unique. Le compilateur sait clairement si l'objet entrant est un tableau ou non.
J'ai essayé de travailler avec juste une propriété de type String(), mais je ne peux pas retourner une chaîne. La seule solution à laquelle je pense est celle des propriétés nommées différemment, ce qui rend l'utilisation de la classe plus difficile, ou tout un tas de sous-fonctions et de fonctions se surchargeant les unes les autres.
Suggestions?
Chris
J'essayais d'éviter d'avoir un nom différent pour la propriété pour chacune des raisons d'utilisation. – cjbarth