Statik kurucu için ConstructorInfo
'u nasıl alabilirim?Statik bir kurucuyu yansımayla nasıl çağırırım?
public class MyClass
{
public static int SomeValue;
static MyClass()
{
SomeValue = 23;
}
}
denedim Kullanım myClass.TypeInitializer.Invoke(null, null)
....
Type myClass = typeof (MyClass);
// throws exception
myClass.TypeInitializer.Invoke(null);
// returns null (also tried deleting BindingFlags.Public
ConstructorInfo ci = myClass.GetConstructor(BindingFlags.Static|BindingFlags.Public, System.Type.DefaultBinder, System.Type.EmptyTypes, null);
// returns empty array
ConstructorInfo[] clutchingAtStraws = myClass.GetConstructors(BindingFlags.Static| BindingFlags.Public);
+1 teşekkür Jon! Cevap şu an çok açık görünüyor * grin * –
[PostSharp kullanarak bir yön uygulamak için] [http://www.sharpcrafters.com/] adresine erişmek için ona ihtiyacım vardı. Sanırım hala geçerli bir kullanım vakası. –
Düşündüm, çünkü bir sonraki cevap (en azından teoride) çok daha güvenli. p.s. Lanet olsun, Jon Skeet'in yanıtını reddettim. Ben cesur değil miyim? –