Zum Beispiel hat ich eine einfache KlasseListe alle Eigenschaften mit [XmlAttribute] der gegebenen Klasse
class SomeCfg
{
[XmlAttribute("ArchivePath")]
public string ArchivePath { get; set; }
}
Wie gegebene Klasse gesehen werden kann, hat eine Eigenschaft mit Xml Attribute. Aber wenn die Ausführung Programm zu diesem Code kommt
var t = typeof (SomeCfg);
var props = t.GetProperties().Where(
prop => Attribute.IsDefined(prop, typeof(XmlAttribute)));
Runtime wirft Ausnahme
System.ArgumentException: Type passed in must be derived from System.Attribute or System.Attribute itself.
Natürlich, wenn ich Typen Hierarchie sah ich erkennen, dass es wahr ist (ich will nicht gehen in warum dies erbt nicht von dieser Klasse).
Meine Frage ist, wie Sie diese Eigenschaften auflisten (Erstellen einer Klasse, die von XmlAttribute erbt und System.Attribute ist in diesem Fall keine Option).
Nach Frage-Tag .Net-Version ist 4.0.
was ist ** t **? –
Sorry, natürlich fehlt diese Zeile. Ich habe die Frage korrigiert. –