Общая форма свойства - C#
Формулировка задачи:
Здравствуйте подскажите где и когда применяется общая форма свойства?
Или вопрос иначе что делает общая форма свойства?
Общая форма бывает только у свойств или у всех типов?
public int current { get {return a; } } object test1.current { get { return current; } }
Решение задачи: «Общая форма свойства»
textual
Листинг программы
public class Program { public static void Main(string[] args) { MyClass c1 = new MyClass(); //св-во от обобщенного интерфейса c1.Item = 10; //выводим сво-ва не обобщенного интерфейса,который вернет св-ва от обобщенного , т.е. значение 10 Console.WriteLine(((ICheck)c1).Item); } } interface ICheck //не обобщенная версия { object Item {get;} } interface ICheck<T> : ICheck // обобщенная версия { T Item {get;} } class MyClass: ICheck<int> { int _Item; public int Item { get{ return _Item;} set{ _Item = value;} } //т.к. интерфейс ICheck<T> наследуется от обычной(не обобщенный) версии интерфейса ICheck,то класс,который реализует ICheck<T> //должен реализовать интерфейс ICheck(не обобщенный) //А явная реализация,может быть по ряду причин,одна из которых //показывает,что св-ва(внутри интерфейсов) имеют такие же названия,и для того,чтобы избежать путаницы,мы реализуем явно не обобщенный интерфейс(который вернет св-во Item). object ICheck.Item { get { return Item; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д