Изменения документа Сценарии
Редактировал(а) Alexandr Fokin 2026/03/17 19:05
От версии 1.8
отредактировано Alexandr Fokin
на 2024/09/30 14:14
на 2024/09/30 14:14
Изменить комментарий:
К данной версии нет комментариев
К версии 1.9
отредактировано Alexandr Fokin
на 2026/03/17 19:00
на 2026/03/17 19:00
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -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