Ich möchte ein benutzerdefiniertes Attribut erstellen, die wie auf einer Eigenschaft verwendet werden können:Wie erhält und ändert man einen Eigenschaftswert über ein benutzerdefiniertes Attribut?
[TrimInputString]
public string FirstName { get; set; }
das funktionale Äquivalent von
private string _firstName
public string FirstName {
set {
_firstName = value.Trim();
}
get {
return _firstName;
}
}
wird so sein wird grundsätzlich jedes Mal Eigenschaft den Wert getrimmt werden .
Wie bekomme ich den Wert analysiert, ändern Sie diesen Wert und legen Sie die Eigenschaft mit dem neuen Wert alle innerhalb des Attributs?
[AttributeUsage(AttributeTargets.Property)]
public class TrimInputAttribute : Attribute {
public TrimInputAttribute() {
//not sure how to get and modify the property here
}
}
Ich denke, ein besserer Ansatz ist ein DataBinder: http://StackOverflow.com/a/1734025/7720 – Romias