Как наследовать конструкторы с аргументами в .NET? - PullRequest
2 голосов
/ 31 марта 2010

У меня есть класс .NET MustInherit, который объявляет конструктор с целочисленным параметром. Однако Visual Studio выдает ошибку при создании любого производного класса, утверждая, что нет конструктора, который можно вызывать без каких-либо аргументов. Можно ли наследовать конструктор с аргументами?

Прямо сейчас я должен использовать

Public Sub New(ByVal A As Integer)
    MyBase.New(A)
End Sub

в производных классах. Есть ли способ избежать этого?

Ответы [ 2 ]

2 голосов
/ 31 марта 2010

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

0 голосов
/ 31 марта 2010

Да, это возможно. Но вы должны вызвать базовый конструктор с целым числом.

public class A
{
    public A(int x)
    {
    }
}

public class B : A
{
    public B()
        : base(42)
    {
    }
}

или

Public Class B
    Inherits A

    Public Sub New()
        MyBase.New(42)
    End Sub
End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...