今天与Roslyn一起工作我偶然发现了ITypeSymbol的StaticConstructors
属性,并将其声明为ImmutableArray<IMethodSymbol>
但据我所知,最多只能有一个静态构造函数C#和VB。问题是为什么?
答案 0 :(得分:3)
我猜:部分课程。
public partial class Foo
{
static Foo() {}
}
public partial class Foo
{
static Foo() {}
}
即使这不是有效的代码(我之前已经忘记了),它可能需要在Roslyn的对象模型中表示。如果此代码正在编译时,ITypeSymbol
可以获得Foo
,那么您可以在那里找到两个静态构造函数。
答案 1 :(得分:-1)
静态构造函数重载,可能有其他参数。