Расширяя класс, компилятор жалуется, что Microsoft.MapPoint.PlugIns.PlugIn не содержит

Я следую учебнику, который поставляется с SDK для Microsoft Virtual Earth, и когда я пытаюсь создать плагин, как он говорит, компилятор мне не позволяет.

Я расширяю класс Microsoft.MapPoint.PlugIn.PlugIn, и у него есть два абстрактных метода (о которых не говорится в учебнике), которые я реализовал. Однако, когда я его компилирую, Visual Studio говорит

«Microsoft.MapPoint.PlugIns.PlugIn» не содержит конструктора, который принимает аргументы «0»

Как я могу это исправить?


person Malfist    schedule 27.03.2009    source источник


Ответы (2)


Вероятно, вам нужно добавить конструктор, который передает что-то конструктору base; добавлять:

class Foo : PlugIn {
    public Foo() : base( //****** here
}

когда вы вводите base(, intellisense должен сказать вам, что вам нужно дать базовому конструктору.


редактировать из поиска, вам нужно:

    public Foo (Host host)
        : base(host)
    {
    }
person Marc Gravell    schedule 27.03.2009

Если у вас есть конструктор, вам необходимо убедиться, что вызывается существующий конструктор базового класса. Я считаю, что по умолчанию компилятор пытается выравнивать конструкторы один за другим, но если это не та функциональность, которая вам нужна, или такой конструктор не существует, вам нужно определить конструктор базового класса для вызова.

public Class()
            : base(/*variables here*/)
        { 

        }
person Timothy Carter    schedule 27.03.2009