Не думаю, что это возможно, но, может быть, я ошибаюсь. Я хочу иметь clone () в супертипе
public abstract class LivingThing {
public abstract T clone<T>() where T : LDBASTobj;
}
но пусть реализующие подтипы возвращают свой собственный подтип, и компилятор должен обеспечить это. Что-то вроде этого
// doesn’t compile
public class Animal : LivingThing {
public Animal clone() => new Animal();
}
Это кажется разумным в принципе, потому что Animal - это замещаемый (ковариантный?) Подтип LivingThing. Приведенный выше код подтипа - мусор, но я надеюсь, вы понимаете, что я имею в виду. Это возможно?
(этот вопрос клон C # из супертипа - это не то, что мне нужно).
Спасибо
clone
? - person MichaelMao   schedule 05.01.2021