У меня проблема с дизайном. Я изменяю существующий код и где я создавал новый класс. Это дает мне ошибки из-за превращения класса в абстрактный класс, который я могу понять. Выдает ошибку, потому что вы не можете создавать экземпляры абстрактного класса.
У меня был этот код ниже
ExampleProcessor pro = new ExampleProcessor();
но класс ExmapleProcessor теперь превращен в абстрактный класс.
public abstract class ExmapleProcessor {
public abstract void Method1();
public abstract void Method2();
}
Дочерние классы AExampleProcessor и BExampleProcessor.
public class AExampleProcessor : ExampleProcessor
{
public override void Method1() { //do something }
public override void Method2() { //do something }
}
public class BExampleProcessor : ExampleProcessor
{
public override void Method1() { //do something }
public override void Method2() { //do something }
}
Таким образом, эта строка вызывает 42 ошибки "ExampleProcessor pro = new ExampleProcessor ();" везде в моем приложении.
Я не хочу делать
AExampleProcessor pro = new AExampleProcessor();
и
BExampleProcessor pro = new BExampleProcessor();
потому что я хочу, чтобы мое приложение решало, какой класс использовать. Как я могу сделать так, чтобы он загружал правильный класс?
Я хотел бы получить примеры кода, пожалуйста ..