Je souhaite implémenter un attribut simple qui est utilisé pour mapper des colonnes de base de données à des propriétés.Comment rendre un Attribut conscient du Nom de la Proprty sur laquelle il se trouve?
Alors ce que j'ai à ce jour est quelque chose qui attaché comme ceci:
[DataField("ID")]
public int ID { get; set; }
[DataField("Name")]
public String Name { get; set; }
[DataField("BirD8")]
public DateTime BirthDay { get; set; }
Est-il possible que je puisse faire l'attribut « conscient » du terrain, il est, de sorte que pour les propriétés où le nom est le même que le nom de colonne, je peux simplement appliquer l'attribut sans le paramètre de nom, ou devrais-je traiter de cela au point où je reflète les propriétés. Je veux finir par faire ceci:
[DataField]
public int ID { get; set; }
[DataField]
public String Name { get; set; }
[DataField("BirD8")]
public DateTime BirthDay { get; set; }
Il y a juste un problème lorsque vous ne possédez pas le code traitant les attributs. Nous sommes confrontés à ce problème avec les attributs de localisation, cela pourrait aussi être un problème dans les attributs de validation et autres. Nous avons quelques attributs où nous devons passer le nom de la propriété et le type de la classe sur laquelle elle est définie comme argument - ce qui est vraiment mauvais. –
Si vous ne possédez pas le code traitant les attributs, alors il a probablement été conçu en supposant les restrictions que les attributs ont toujours - à savoir que vous ne pouvez pas accéder à la cible. Je suis d'accord que c'est un peu pénible. –
Merci. J'ai réussi à trouver une solution où je reflétais l'attribut. –