고정 생성자에 대해 ConstructorInfo
을 얻으려면 어떻게해야합니까?리플렉션을 사용하여 정적 생성자를 호출하려면 어떻게해야합니까?
public class MyClass
{
public static int SomeValue;
static MyClass()
{
SomeValue = 23;
}
}
내가 해봤 사용 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);
한 덕분에 존! 대답은 너무 분명한 것 같습니다. * 웃음 * –
[PostSharp를 사용하여 측면을 적용하려면] (http://www.sharpcrafters.com/)에 액세스해야했습니다. 나는 여전히 유효한 유스 케이스라고 생각한다. –
다음 답변이 (적어도 이론 상으로는) 훨씬 안전하기 때문에 Downvoted. p.s. 젠장, 존 스코트의 대답을 그냥 떨어 뜨 렸어. 내가 대담하지 않은가? –