Я пытаюсь преобразовать мои преобразователи на основе Action и Func в классы, чтобы я мог быстро их менять и с минимальной суетой.Generic Abstract String Converter
Класс, который будет принимать их, очевидно, должен хранить преобразователь в качестве определения переменной
private Converter converter;
Класс у меня до сих пор:
public abstract class Converter<T>
{
public abstract bool Convert(string str, out T val);
}
public class StringToFooConverter : Converter<Foo>
{
public override bool Convert(string str, out Foo val)
{
//do the parsing here
}
}
Однако я, очевидно, не может создать переменную абстрактного генерического класса Converter без передачи общего класса, который его размещает, чего я хочу избежать.
Что касается реализации не общего интерфейса, который реализуется вашим абстрактным классом? – HimBromBeere
@HimBromBeere Я прочитал что-то в этом роде, но у меня возникли проблемы с пониманием интерфейса, который я мог бы реализовать без дженериков? Любые идеи, что подпись функции будет внутри интерфейса? – Questioning