|
Ковариантный тип Generic'а
|
|||
---|---|---|---|
#18+
при таком коде: Код: c# 1. 2. 3. 4.
будет ошибка, так как ковариантный тип не может быть входным параметром для метода. Но ведь мой параметр OUT, а не INT. почему такая несправедливость? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 06:45 |
|
Ковариантный тип Generic'а
|
|||
---|---|---|---|
#18+
Roman Mejtes, Потому что out T result компилится в ref T result . Понятие out есть лишь для компилятора. Поэтому и ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 09:29 |
|
Ковариантный тип Generic'а
|
|||
---|---|---|---|
#18+
hVosttRoman Mejtes, Потому что out T result компилится в ref T result . Понятие out есть лишь для компилятора. Поэтому и ошибка. тоска, печаль :) а если 3адуматься, было бы вполне логично. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 09:36 |
|
Ковариантный тип Generic'а
|
|||
---|---|---|---|
#18+
Roman Mejtesтоска, печаль :) а если 3адуматься, было бы вполне логично. Особой проблемы не вижу, оформляй TryGetValue, как расширение к интерфейсу, и всё ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 09:38 |
|
Ковариантный тип 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:03 |
|
Ковариантный тип Generic'а
|
|||
---|---|---|---|
#18+
Вот здесь , кстати, есть хороший ответ Липперта, почему для ref/out-параметров запрещена вариация (это почему-то мало где разъяняется). В двух словах - потому что они по сути своей одновременно являются и out, и in. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 10:30 |
|
Ковариантный тип Generic'а
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Вот здесь , кстати, есть хороший ответ Липперта, почему для ref/out-параметров запрещена вариация (это почему-то мало где разъяняется). В двух словах - потому что они по сути своей одновременно являются и out, и in. Это разбег между C# и CLR. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 10:37 |
|
|
start [/forum/topic.php?fid=20&tid=1400301]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 150ms |
0 / 0 |