Изменения документа Преобразование типов

Редактировал(а) Alexandr Fokin 2023/06/26 11:34

От версии 1.5
отредактировано Alexandr Fokin
на 2023/02/25 13:10
Изменить комментарий: К данной версии нет комментариев
К версии 1.1
отредактировано Alexandr Fokin
на 2023/02/25 13:04
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -15,8 +15,6 @@
15 15  Механизм который при вызове может выглядеть словно (Upcasting and Dowcasting), но на самом деле выполняющий преобразование одного типа в другой (подразумевает логику создания экземпляра целевого типа и наполнение его данными на основе переданной сущности).
16 16  В теле класса может быть определен метод как преобразование экземпляров класса в экземпляры внешнего типа, так и экземпляр внешнего типа в экземпляр класса.
17 17  \\Имеет определенные ограничения: например не позволяет указывать преобразования дочернего типа к родительскому иначе бы приводил к неоднозначности.
18 -
19 -Во многих случаях лучше явно реализовать модуль преобразования в виде отдельного компонента бизнес логики (Converter / Transformator), а не использовать данных механизм. Механизм больше подходит для преобразования базовых или примитивных типов.
20 20  )))|(% style="width:440px" %){{code language="c#"}}class MyClass1
21 21  {
22 22   public static implicit operator Type1 (MyClass1 instance)
... ... @@ -34,7 +34,9 @@
34 34  MyClass2 myClass2Var;
35 35  
36 36  Action(myClass1Var); //implicit
37 -Action((Type1)myClass1Var); //explicit{{/code}}
35 +Action((Type1)myClass1Var); //explicit
36 +
37 +{{/code}}
38 38  |(% style="width:138px" %)Ограничения для Generic типов|(% style="width:869px" %) |(% style="width:440px" %){{code language="c#"}}interface Logic1
39 39  {
40 40   //В случае struct приведет к упаковке