Поделиться через


Ошибка компилятора CS0514

Обновлен: Ноябрь 2007

Сообщение об ошибке

"конструктор": статический конструктор не может иметь явный вызов конструктора "this" или "base"
'constructor' : static constructor cannot have an explicit 'this' or 'base' constructor call

Не допускается вызывать оператор this в статическом конструкторе, поскольку статический конструктор вызывается автоматически до создания любого экземпляра класса. Кроме того, статические конструкторы не наследуются и не могут вызываться непосредственно.

Дополнительные сведения см. в разделах this (Справочник по C#) и base (Справочник по C#).

Пример

Следующий пример приводит к возникновению ошибки CS0514:

// CS0514.cs
class A
{
    static A() : base(0) // CS0514
    {
    }

    public A(object o)
    {
    }
}

class B
{
    static B() : this(null) // CS0514
    {
    }

    public B(object o)
    {
    }
}