Par exemple, j'ai une classe simple
class SomeCfg
{
[XmlAttribute("ArchivePath")]
public string ArchivePath { get; set; }
}
Comme on peut le voir, la classe donnée possède une propriété avec Xml Attribut . Mais quand l'exécution du programme arrive à ce code
var t = typeof (SomeCfg);
var props = t.GetProperties().Where(
prop => Attribute.IsDefined(prop, typeof(XmlAttribute)));
Le runtime lève l'exception
System.ArgumentException: Type passed in must be derived from System.Attribute or System.Attribute itself.
Bien sûr, quand j'ai vu la hiérarchie des types, j'ai compris que c'était vrai (je ne vais pas expliquer pourquoi il n'hérite pas de cette classe).
Ma question est de savoir comment lister ces propriétés (créer une classe qui hérite de XmlAttribute et System.Attribute n'est pas une option dans ce cas).
Selon l'étiquette de la question, la version de .Net est 4.0.