Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
11.10.2016, 06:45
|
|||
---|---|---|---|
|
|||
Ковариантный тип Generic'а |
|||
#18+
при таком коде: Код: c# 1. 2. 3. 4.
будет ошибка, так как ковариантный тип не может быть входным параметром для метода. Но ведь мой параметр OUT, а не INT. почему такая несправедливость? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2016, 09:29
|
|||
---|---|---|---|
Ковариантный тип Generic'а |
|||
#18+
Roman Mejtes, Потому что out T result компилится в ref T result . Понятие out есть лишь для компилятора. Поэтому и ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2016, 09:36
|
|||
---|---|---|---|
|
|||
Ковариантный тип Generic'а |
|||
#18+
hVosttRoman Mejtes, Потому что out T result компилится в ref T result . Понятие out есть лишь для компилятора. Поэтому и ошибка. тоска, печаль :) а если 3адуматься, было бы вполне логично. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2016, 09:38
|
|||
---|---|---|---|
Ковариантный тип Generic'а |
|||
#18+
Roman Mejtesтоска, печаль :) а если 3адуматься, было бы вполне логично. Особой проблемы не вижу, оформляй TryGetValue, как расширение к интерфейсу, и всё ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2016, 10:03
|
|||
---|---|---|---|
|
|||
Ковариантный тип Generic'а |
|||
#18+
Roman Mejtes, Also, variance is not allowed on a generic type parameter if an argument of that type is passed to a method by using the out or ref keyword. For example, the line of code below causes the compiler to generate the following error message: Код: plaintext
Код: c# 1.
Рихтер, CLR via C#, раздел Designing types, глава Generics, подраздел Delegate and Interface Contra-variant and Covariant Generic Type Arguments. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2016, 10:30
|
|||
---|---|---|---|
|
|||
Ковариантный тип Generic'а |
|||
#18+
Вот здесь , кстати, есть хороший ответ Липперта, почему для ref/out-параметров запрещена вариация (это почему-то мало где разъяняется). В двух словах - потому что они по сути своей одновременно являются и out, и in. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2016, 10:37
|
|||
---|---|---|---|
Ковариантный тип Generic'а |
|||
#18+
Сон Веры Павловны Вот здесь , кстати, есть хороший ответ Липперта, почему для ref/out-параметров запрещена вариация (это почему-то мало где разъяняется). В двух словах - потому что они по сути своей одновременно являются и out, и in. Это разбег между C# и CLR. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1400301]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
47ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 168ms |
0 / 0 |