为什么在ITypeSymbol中有静态构造函数的集合而不是一个?

时间:2014-11-07 13:02:03

标签: c# roslyn

今天与Roslyn一起工作我偶然发现了ITypeSymbol的StaticConstructors属性,并将其声明为ImmutableArray<IMethodSymbol>但据我所知,最多只能有一个静态构造函数C#和VB。问题是为什么?

2 个答案:

答案 0 :(得分:3)

我猜:部分课程。

public partial class Foo
{
    static Foo() {}
}

public partial class Foo
{
    static Foo() {}
}

即使这不是有效的代码(我之前已经忘记了),它可能需要在Roslyn的对象模型中表示。如果此代码正在编译时,ITypeSymbol可以获得Foo,那么您可以在那里找到两个静态构造函数。

答案 1 :(得分:-1)

静态构造函数重载,可能有其他参数。