Я пытаюсь создать универсальный интерфейс, который наследует интерфейс System.ICloneable, но где возвращаемый тип метода Clone () - это T. Конечно, T-тип нуждается в ограничениях, чтобы быть уверенным, что это наследование System.Object. -класс, но следующий код не работает.
public interface ICloneable<T> : System.ICloneable where T : object {
T Clone ();
}
Что я делаю не так?
Также не работают следующие ограничения:
- , где T: System.Object
- где T: класс
как я могу использовать принцип Лискова в этом случае, который говорит, что вы можете сузить свой тип возврата, чтобы решить эту проблему?
P.S .: Извините за мой английский, если я допустил ошибки. Я не являюсь носителем английского языка.