J'ai une classe avec quelques propriétés de base ...aide de la réflexion pour trouver [XmlAttribute (« IWantThisValueRightHere »)]
[XmlAttribute("MyFirstProperty")]
public string FirstProperty { get; set; }
[XmlAttribute("MySecondProperty")]
public string SecondProperty { get; set; }
aide de la réflexion, je peux énumérer les propriétés publiques et obtenir des objets PropertyInfo pour chaque des propriétés ci-dessus ... la seule chose que je dois est maintenant un moyen de:
- détecter si oui ou non la propriété a une XmlAttribute (je pense que cela fonctionne via PropertyInfo.IsDefined (typeof (XmlAttribute), vrai) mais aimerait être sûr)
- Récupère la valeur de chaîne de l'attribut XmlAttribute
Comment cela est-il fait?
Vous allez devoir faire un peu de casting sur cette dernière ligne. System.Object n'a pas de propriété AttributeName. –
Le plus simple "fix" est d'utiliser Attribute [] attribs = Attribute.GetAttributes (myPropertyInfo, typeof (XmlAttribute)); –