Введите различие в Платформе.NET 4.0

Вам просто нужно добавить /A за чертой.

Пример:

get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach (

Вам просто нужно добавить /A за чертой.

Пример:

[110]) {remove-item

Вам просто нужно добавить /A за чертой.

Пример:

[110].fullname} /a
6
задан Mehrdad Afshari 31 May 2009 в 19:43
поделиться

3 ответа

.NET Framework 4.0 представляет безопасную совместную / противоположную дисперсию. IList и ICollection имеют T как на входе, так и на выходе, а IEnumerable имеет T только в позициях вывода и IComparable имеет T только во входных позициях .

Предположим IList поддерживал вариантность типов:

static void FailingMethod(IList<object> list) {
    list[0] = 5;
}

static void Test() {
    var a = new List<string>();
    a[0] = "hello";
    FailingMethod(a); // if it was variant, this method call would be unsafe
}
11
ответ дан 8 December 2019 в 17:26
поделиться

Андерс Хейлзеберг в своем выступлении «Будущее C #» кратко, но поучительно описывает ко / контравариантность. Его обсуждение ковариации и контравариантности начинается через 50 минут и 17 секунд презентации.

http: //channel9.msdn. com / pdc2008 / TL16 /

1
ответ дан 8 December 2019 в 17:26
поделиться
2
ответ дан 8 December 2019 в 17:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: