Правильно ли этот второй пример в книге имеет направление от динамического до объекта? Первый пример имеет направление от строки к объекту, я думал, что второй будет от объекта к динамическому. Правила означают следующее: < /p>
Существует достоверное преобразование из func < /code> в func < /code>, потому что < /p>
Параметр первого типа является противоположным, и есть Implicit ancervision Object .
Параметр второго типа является ковариантом, и существует преобразование идентификации с int в int. />
The first type parameter is contravariant, and there’s an identity conversion from dynamic to object.
The second type parameter is covariant, and there’s an implicit reference conversion from string to IConvertible
- фрагмент кода, взятый из книги «C# в глубине» Четвертое издание J. Skeet, стр. 147.
Правильно ли этот второй пример в книге имеет направление от динамического до объекта? Первый пример имеет направление от строки к объекту, я думал, что второй будет от объекта к динамическому. Правила означают следующее: < /p> [list] [*] Существует достоверное преобразование из func < /code> в func < /code>, потому что < /p> [list] Параметр первого типа является противоположным, и есть Implicit ancervision Object . [*] Параметр второго типа является ковариантом, и существует преобразование идентификации с int в int. /> The first type parameter is contravariant, and there’s an identity conversion [b]from dynamic to object[/b]. [*]The second type parameter is covariant, and there’s an implicit reference conversion from string to IConvertible [/list]
[/list]
- фрагмент кода, взятый из книги «C# в глубине» Четвертое издание J. Skeet, стр. 147.