So erhalten Sie benutzerdefinierte Attribute von einer Baugruppe, die (wirklich) nicht geladen wirdC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 So erhalten Sie benutzerdefinierte Attribute von einer Baugruppe, die (wirklich) nicht geladen wird

Post by Anonymous »

Wir alle wissen, dass die Baugruppe mithilfe der GetCustomattributes -Methode für Attribute abgefragt werden kann. Ich möchte dies verwenden, um ein Erweiterungsmodul für meine Anwendung zu identifizieren. Um jedoch zu vermeiden, dass jede Baugruppe einlädt, bevorzuge ich einen defensiven Ansatz: < /p>
  • Verwenden von Assembly. Montag.loadfrom < /p>
    < /li>
    < /ol>
    Leider scheint es keine Möglichkeit zu geben, die Attribute aus einer Baugruppe zu erhalten, die in den Kontext nur für Reflexion geladen wird: < /p>
    myAssembly.GetCustomAttributes(typeof(ModuleAttribute), false)
    < /code>
    fällt mit einer InvalidOperationException aus < /code> < /p>

    Es ist illegal, über die benutzerdefinierten Attribute eines Typs zu reflektieren, der über reflektiertonlygettype < /p>
    < /blockquote>
    < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /> geladen wurdeCustomAttributeData.GetCustomAttributes(myAssembly)
    < /code>
    fällt mit ReflectionTypeloadexception < /code> aufgrund der nicht geladenen abhängigen Ansammlungen fehl. Assemblys
  • Die Notwendigkeit separater Anwendungsdomänen (gab ihm einen kurzen Versuch, noch mehr Pita)
?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post