Изменения документа Сценарии

Редактировал(а) Alexandr Fokin 2026/03/17 19:05

От версии 1.7
отредактировано Alexandr Fokin
на 2024/09/30 14:14
Изменить комментарий: К данной версии нет комментариев
К версии 1.9
отредактировано Alexandr Fokin
на 2026/03/17 19:00
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -14,7 +14,7 @@
14 14  Invoke method by MethodInfo
15 15  [[https:~~/~~/stackoverflow.com/questions/919826/invoke-method-by-methodinfo>>https://stackoverflow.com/questions/919826/invoke-method-by-methodinfo]]
16 16  )))
17 -|(% style="width:174px" %)Получение типа независимо от nullable|(% style="width:1348px" %){{code language="c#"}}PropertyInfo prop;
17 +|(% style="width:174px" %)Получение основного типа для nullable структур.|(% style="width:1348px" %){{code language="c#"}}PropertyInfo prop;
18 18  var type = Nullable.GetUnderlyingType(prop.PropertyType)
19 19   ?? prop.PropertyType;{{/code}}
20 20  |(% style="width:174px" %)Формирование конкретного типа на основе Generic|(% style="width:1348px" %)(((
... ... @@ -24,5 +24,17 @@
24 24  C# Type MakeGenericType
25 25  [[http:~~/~~/www.java2s.com/Tutorials/CSharp/System/Type/C_Type_MakeGenericType.htm>>http://www.java2s.com/Tutorials/CSharp/System/Type/C_Type_MakeGenericType.htm]]
26 26  )))
27 +|(% style="width:174px" %)Ref и Out параметры метода.|(% style="width:1348px" %)(((
28 +| |При передаче параметра с использованием out и ref, в качестве типа используется дополнительная обертка.
29 +Критерий передачи {{code language="c#"}}parameter.ParameterType.IsByRef{{/code}}.
30 +| |What is the opposite of Type.MakeByRefType
31 +[[https:~~/~~/stackoverflow.com/questions/607130/what-is-the-opposite-of-type-makebyreftype>>https://stackoverflow.com/questions/607130/what-is-the-opposite-of-type-makebyreftype]]
32 +| |{{code language="c#"}}// Получение типа обертки.
33 +var refType = typeof(int).MakeByRefType()
27 27  
35 +// Разворачивание, получение основного типа.
36 +// Также флаг refType.HasElementType.
37 +refType.GetElementType();{{/code}}
38 +)))
39 +
28 28