Для явного преобразования пользовательского типа (класс или структура) во встроенный тип (int, double и т.д.) применяется специальный тип перегрузочного операторного метода operator. Он является статическим и определяется в классе или структуре.
После преобразования, с объектом класса или структуры можно производить любые арифметические или другие действия.
Синтаксис:
public static explicit operator тип_возврата (пользовательский_тип obj) {
return значение;
}
После преобразования, с объектом класса или структуры можно производить любые арифметические или другие действия.
Синтаксис:
public static explicit operator тип_возврата (пользовательский_тип obj) {
return значение;
}
Main.cs
usingSystem;publicclassFive {-
intval = 5; -
//специальный тип перегрузочного операторного метода operator -
publicstaticexplicitoperatorint(Five obj) { -
returnobj.val; -
} }publicclassTen {-
intval = 10; -
//специальный тип перегрузочного операторного метода operator -
publicstaticexplicitoperatorint(Ten obj) { -
returnobj.val; -
} }classProgram {-
publicstaticintMain() { -
Five F =newFive(); -
Ten T =newTen(); -
//теперь с объектами можно выполнять арифметические или другие действия -
//нужно явно привести объект класса к нужному типу -
intres = (int)F + (int)T; -
Console.WriteLine(res); -
Console.ReadKey(); -
return0; -
} }
usingSystem;publicclassFive {-
intval = 5; -
//специальный тип перегрузочного операторного метода operator -
publicstaticexplicitoperatorint(Five obj) { -
returnobj.val; -
} }publicclassTen {-
intval = 10; -
//специальный тип перегрузочного операторного метода operator -
publicstaticexplicitoperatorint(Ten obj) { -
returnobj.val; -
} }classProgram {-
publicstaticintMain() { -
Five F =newFive(); -
Ten T =newTen(); -
//теперь с объектами можно выполнять арифметические или другие действия -
//нужно явно привести объект класса к нужному типу -
intres = (int)F + (int)T; -
Console.WriteLine(res); -
Console.ReadKey(); -
return0; -
} }
15