Comme indiqué dans le titre, je voudrais savoir s'il existe un moyen de contrainte d'attribut afin que vous obteniez une erreur de compilation si vous appliquez un attribut à une mauvaise propriété ou à une méthode (i aimerait que ces attributs ne s'appliquent qu'à la propriété).Constraint Attribut à la propriété du type donné
Par exemple:
[StringAttribute(..something)]
public string MyStringPropery { get; set; } //<-- ok pass compile time constraint
[StringAttribute(..something)]
public int MyIntProperty { get; set; } //<-- throw error at compile time for type missmatch (that attribute will apply only to string not int)
[StringAttribute(..something)]
public string SayHello() //<-- throw error at compile time, that attribute apply only to property not method
{
return "Hello!" ;
}
option sera bien si je peux contrainte mon attribut afin qu'ils puissent être utilisés que dans une classe qui mettent en œuvre l'interface spécifique (ou hérite former une classe de base spécifique).
grâce @Safe cette limite mon problème un peu. Pour la vérification de type, je vais changer l'approche en utilisant une vérification de l'exécution au lieu d'essayer de le faire à la compilation. Jusqu'à présent, vous savez qu'il existe un moyen de contraindre la classe qui utilisera mon attribut? – Skary
Vous voulez dire par ex. une classe avec un certain nom? J'ai peur que ce ne soit pas possible. – Sefe
No i maen une classe tha imeplement une interface par exemple: IConfigurable (mon interface personnalisée) ou hérite d'une classe de base – Skary