Расширяя класс, компилятор жалуется, что Microsoft.MapPoint.PlugIns.PlugIn не содержит - PullRequest
2 голосов
/ 27 марта 2009

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

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

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

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

Ответы [ 2 ]

1 голос
/ 27 марта 2009

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

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

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


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

    public Foo (Host host)
        : base(host)
    {
    }
0 голосов
/ 27 марта 2009

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

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

        }
...