Для явного преобразования пользовательского типа (класс или структура) во встроенный тип (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