Почему я не могу создать абстрактный конструктор на абстрактном классе C#?C#

Место общения программистов C#
Ответить
Anonymous
 Почему я не могу создать абстрактный конструктор на абстрактном классе C#?

Сообщение Anonymous »

Я создаю абстрактный класс. Я хочу, чтобы каждый из моих производных классов был вынужден реализовать конкретную подпись конструктора. Таким образом, я сделал то, что сделал бы, если бы я хотел заставить их реализовать метод: я сделал абстрактный. < /P>

Код: Выделить всё

public abstract class A
{
abstract A(int a, int b);
}
< /code>
Однако я получаю сообщение, в котором говорится, что абстрактный модификатор недействителен на этом элементе. Моя цель состояла в том, чтобы заставить такой код. < /P>
public class B : A
{
public B(int a, int b) : base(a, b)
{
//Some other awesome code.
}
}
< /code>
Это все C# .NET Code. Кто -нибудь может мне помочь? Я закончил этим: < /p>
private A() { }

protected A(int a, int b)
{
//Code
}
, который делает то, что говорят некоторые люди, по умолчанию является private , а класс должен реализовать конструктор. Однако это не заставляет конструктор с подписью a (int a, int b) .

Код: Выделить всё

public abstract class A
{
protected abstract A(int a, int b)
{

}
}
Обновление 2
Я должен быть ясен, чтобы обойти это, я сделал свой конструктор по умолчанию частным, и мой другой конструктор защищен. Я не ищу способ заставить мой код работать. Я позаботился об этом. Я хочу понять, почему C# не позволяет вам это делать.

Подробнее здесь: https://stackoverflow.com/questions/504 ... harp-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»