Во время подготовки к «Программирование в C#» Сертификация из this книги в объективном 2.1, где следующий код показан для общих типов:Обобщения в .NET 2.0: Использование в Where класс по определению класса
class MyClass<T> where T : class, new()
{
public MyClass()
{
MyProperty = new T();
}
T MyProperty { get; set; }
}
Я знаю, какой общий тип и зачем он нам нужен, но может ли кто-нибудь объяснить этот запутанный код и как мы можем использовать его с любым примером.
Да это первая часть, которая запутать меня (то есть, где T: класс, новый()) Теперь в соответствии с вашим объяснением предположим, что мы имеем класс Person, как показано ниже класса Person { Person() { this.PersonName = «Джек»; } общедоступная строка PersonName {get; set; } } Как мы можем использовать этот общий MyClass с этим. –
Поскольку 'Person' является ссылочным типом (классом) и имеет конструктор по умолчанию. Его можно использовать в качестве типичного параметра типа для MyClass. Вы можете инициализировать его экземпляр следующим образом: 'var obj = new MyClass()'. Теперь 'obj.MyProperty' хранит человека с именем« Джек ». @UsmanHayatKhan –
Sweeper
Вы должны включить это в свой ответ, потому что это, вероятно, часть, которую OP не понимает. –