간단한 관찰 만 있습니다. property MethodBase.IsConstructor
은 static
생성자에서는 작동하지 않으며 설명서에는이 사실이 언급되어 있지 않습니다.이 메서드가 ConstructorInfo
개체로 표시되는 생성자 인 경우 "true"입니다.MethodBase.IsConstructor가 정적 생성자로 지정된대로 작동하지 않습니다.
샘플 :
static class Program
{
static void Main()
{
ConstructorInfo ci = typeof(Test).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Static, null, new Type[] { }, null);
Console.WriteLine(ci is ConstructorInfo); // silly; writes True
Console.WriteLine(ci.IsConstructor); // ?? writes False
}
}
static class Test
{
static Test()
{
Console.WriteLine("I am your static constructor");
}
}
질문 : 왜? 버그 또는 불완전한 사양?
정적 생성자가 개체의 생성자가 아닙니다. 용어가 잘못되었습니다. –