Also ich bin immoment an einem Projekt das sehr viel mit Reflection und Custom Attributes arbeitet. jetzt will ich aber das man den Typen, den Properties und den Methoden auch per code zur laufzeit ein attribut zuweisen kann.
Dazu habe ich mir ein Dictionary<ICustomAttributeProvider, List<object>> gemacht in dem ich mir alle zusätzlichen Attribute speichere. Nur zur Info ICustomAttributeProvider wird von der MemberInfo Klasse implementiert von der unter anderem Type, PropertyInfo, FieldInfo und MethodInfo erben.
Da ich das ganze in ein dictionary speichere werden die objekte anhand der Objektreferenz identifiziert. Jetzt wollte ich nur nochmal sicherheitshalber fragen: Von Type weiß ich das es von jedem Type objekt nur eine instanz gibt, ist das mit MethodInfo, PropertyInfo und FieldInfo genauso?
Vergiss System.Reflection. Benutz Mono.Cecil kann einiges mehr !
Und ja zur deiner Frage !
Nebenbei, ich hab erst vor kurzen damit angefangen mich mich mit .Net Assemblys zu beschäftigen und muss echt sagen das das Cecil zwar nur von einer Person geschrieben wurde aber es ist mehr möglich als bei System.Reflection und es ist nicht sooo überfüllt mit überflüssiger Logik.
Hallo Desert Fox,
wobei ich mich allerdings frage, warum du kein Dictionary<Object, List<ICustomAttributeProvider>> verwendest. Der erschiene mir logischer und sinnvoller.
herbivore