C'è un modo per ottenere str1
nel codice?Come ottenere il valore di attributo per un assieme in Cecil
[MyAttribute("str1")]
class X {}
L'istanza di Mono.Cecil.CustomAttribute.Fields
è vuota.
C'è un modo per ottenere str1
nel codice?Come ottenere il valore di attributo per un assieme in Cecil
[MyAttribute("str1")]
class X {}
L'istanza di Mono.Cecil.CustomAttribute.Fields
è vuota.
Quando si utilizzano gli attributi in .NET, si utilizzano i parametri del costruttore e si impostano alcuni campi (denominati). Questo è codificato in modo diverso nei metadati e finisce separatamente in Cecil.
l'istanza di Mono.Cecil.CustomAttribute.Fields è vuota
Quello che stai usando è alla ricerca di campi quando i argomenti del costruttore sono stati utilizzati per l'attributo personalizzato. Quindi quello che stai cercando è:
type.CustomAttributes[0].ConstructorArguments[0].Value
I secondi questo magnifico risposta. –