C# permite a los programadores declarar conversiones de clases o estructuras para convertirlas en otras clases o estructuras o en tipos básicos. Las conversiones se definen como operadores con el nombre del tipo al cual convierten. El tipo contenedor debe ser el argumento de tipo que se va a convertir o el tipo del resultado de la conversión, pero no ambos.
class SampleClass { public static explicit operator SampleClass(int i) { SampleClass temp = new SampleClass(); // code to convert from int to SampleClass... return temp; } }
Los operadores de conversión tienen las propiedades siguientes:
Las conversiones declaradas como implicit se producen automáticamente cuando son necesarias.
Las conversiones declaradas como explicit requieren que se llame a una conversión de tipos.
Todas las conversiones deben ser de tipo static.
Para obtener más información:
Utilizar operadores de conversión (Guía de programación de C#)
Instrucciones de diseño de operadores de conversión
Cómo: Implementar conversiones entre estructuras definidas por el usuario (Guía de programación de C#)
explicit (Referencia de C#)
implicit (Referencia de C#)
static (Referencia de C#)