Pregunta

he estado desarrollando aplicaciones .NET para 4 años. Hasta el momento, no tenía necesidad de crear las conversiones implícitas para las clases de mi autoría.
Podría dar situaciones de la vida real, cuando no se podía hacer sin crear conversiones implícitas?

Gracias

¿Fue útil?

Solución

Las conversiones implícitas sólo debe ser definido cuando el tipo se puede convertir en o desde (preferiblemente a y desde) otro tipo con sin pérdida de datos. Otro criterio es que las conversiones implícitas deben ser bastante barato, porque el desarrollador usando su clase probablemente no va a tener en cuenta cuando las conversiones implícitas están sucediendo.

Un ejemplo: la conversión entre sistemas de coordenadas. Un vector de coordenadas polares que puede convertir a coordenadas cartesianas, por ejemplo, podría ser conveniente. Sin embargo, debido a la redonda de coma flotante fuera aún sería mejor dejar esto como una conversión explícita para que el programador tiene que encasillado para forzar la conversión.

La conversión implícita puede estar justificada si se tienen dos tipos de datos que almacenan los datos en el mismo formato, pero la única diferencia entre los tipos es semántica - la forma en que se usan o lo que significan. Ejemplo real: La conversión entre tipos de datos de fecha y hora que tienen el mismo (o compatible) que subyace a la representación pero que difieren sólo en EPOC fecha de inicio. Encontrará estos cuando la migración de bases de código mayores para los marcos más nuevos, donde tanto definir un tipo de fecha y hora, pero la semántica son ligeramente diferentes. La conversión implícita aquí (suponiendo que no hay pérdida de datos en absoluto) es probablemente muy bien y una buena idea.

Si usted tiene un conjunto de tipos y que haya definido sus propias reglas sobre cómo los tipos se pueden convertir entre sí, a continuación, algunas de esas conversiones puede ser implícita y explícita alguna en función de la "severidad" de la conversión. La instancia principal de donde yo he usado la conversión implícita en la aplicación de una clase en .NET fue cuando estaba poniendo en práctica la semántica Win32 variante para la biblioteca de ejecución de Delphi. Win32 y el lenguaje Delphi especifican un número de conversiones de datos Variant que pueden ser implícitamente hecho.

Esto no ha encontrado la necesidad de crear conversiones implícitas en realidad es una cosa buena. El hecho de que usted puede no significa que usted debe. existen conversiones implícitas en .NET principalmente para permitir diferentes lenguajes de programación para representar sus propios semántica de una manera que debe ser interoperable y comprensible por otros lenguajes .NET.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top