次の C# コードはコンパイルされません。
public class BaseType
{
public BaseType(int bar)
{
// Do stuff with bar...
}
}
public class DerivedType : BaseType
{
private int foo;
public DerivedType() : base(foo = 0) {}
}
エラーは、DerivedType の基本コンストラクターへの呼び出しで発生し、「静的コンテキストで非静的フィールド 'foo' にアクセスできません」というメッセージが表示されます。このエラー メッセージは何を示していますか? 「foo」は静的ではなく、クラスでもありません。これらは静的コンストラクターではありません。