Estoy picando, lo sé. Pero cuando se implementa la interfaz IConvertible en una estructura que contiene solo un valor booleano (y, por lo tanto, tiene solo dos estados), ¿cuál es el valor recomendado para devolver desde IConvertible.GetTypeCode()
? La estructura es implícitamente convertible y comparable a boolean y en casi todos los aspectos que no sean cadenas y representaciones XML, es efectivamente un booleano.Implementando IConvertible.GetTypeCode
Siento que estoy mintiendo al marco si devuelvo TypeCode.Boolean
pero TypeCode.Object
parece innecesariamente vago. ¿Existen consecuencias en el mundo real para implementar este método en sus propias estructuras?
IConvertible.GetTypeCode on MSDN
Gracias, he comprobado desde Reflector también y he encontrado un par de métodos de bajo nivel que acceden a él, como System.Variant.MarshalHelperConvertObjectToVariant. Supongo que la conclusión es que no tengo ninguna razón para anunciarlo como booleano, por lo que lo mejor sería simplemente devolver TypeCode.Object. – Josh
Eso es lo que recomendaría, a menos que tengas una buena razón para no hacerlo. Establecerlo en Boolean puede tener consecuencias no deseadas. –