Estoy creando mi propio tipo para representar valores CSS (como píxeles, por ejemplo, 12 px). Para poder sumar/restar/multiplicar/... mi tipo y datos he definido dos operadores implícitos ay desde int. Todo funciona muy bien excepto una cosa .. Si escribo:C# Operadores implícitos y ToString()
CssUnitBase c1 = 10;
Console.WriteLine(c1);
consigo "10" en lugar de "10px" - conversión implícita a int se utiliza en lugar método toString(). ¿Cómo puedo prevenir eso?
¿Se puede publicar el código en la clase 'CssUnitBase'? Por la forma en que lo usas parece _be_ un envoltorio alrededor de int. – Oded
ut depende de cómo almacena internamente el valor en CssUnitBase y cómo lo devuelve. "Hablar es barato, muéstranos el código" – vaitrafra
@vaitrafra: No veo cómo depende de eso en absoluto. Hay una conversión implícita a/desde int, y una modificación para ToString. Esos son los bits de la API pública que son relevantes en esta pregunta, y no creo que su implementación importe en absoluto. Es lo que se llama lo que es relevante. –