Etwas, das die Schnittstelle ICustomAttributeProvider
implementiert, können Sie benutzerdefinierte Attribute erhalten, die über die Methode GetCustomAttributes
angewendet wurden. Wie ich es verstehe, ist ein benutzerdefiniertes Attribut im Grunde eine spezielle Klasse (endend in "Attribut" und erweitert die Attribute
Klasse), die erstellt wird, um etwas wie eine Methode oder Klasse mit der entsprechenden Syntax ([FooAttribute]
direkt vor der Methode/Klasse usw. in C# zum Beispiel). Aber wenn das ein benutzerdefiniertes Attribut ist, was ist ein nicht -custom Attribut? Ich dachte, dass Attribute, die mit .NET gebündelt wurden, nicht benutzerdefiniert waren, aber GetCustomAttributes
gibt mir sogar Attribute wie System.ThreadStaticAttribute
zurück, die sehr wichtig für das .NET-Framework sind.Benutzerdefinierte vs. nicht benutzerdefinierte Attribute?
Gibt es so etwas wie ein nicht benutzerdefiniertes Attribut oder ist "benutzerdefiniertes Attribut" nur eine Tautologie?
Ich denke, das ist wahrscheinlich ungefähr richtig. Benutzerdefinierte Attribute sind Dinge, die keine "Typattribute" sind. – Jez
Zur weiteren Klarstellung lese ich dies nur auf MSDN: * "Fast allen Reflection-Klassen können Attribute zugeordnet werden. Attribute können Standard (öffentlich, privat, HelpString) oder benutzerdefiniert sein." * – Jez