Je suis en train de cogner, je sais. Mais lors de l'implémentation de l'interface IConvertible sur une structure qui ne contient qu'une valeur booléenne (et n'a donc que deux états), quelle est la valeur recommandée pour retourner de IConvertible.GetTypeCode()
? La structure est implicitement convertible et comparable à boolean et dans presque tous les aspects autres que la représentation de chaîne et XML, c'est effectivement un booléen.Implémentation IConvertible.GetTypeCode
Je me sens comme si je mentais à la trame si je retourne TypeCode.Boolean
mais TypeCode.Object
semble inutilement vague. Y a-t-il des conséquences concrètes pour la mise en œuvre de cette méthode dans vos propres structures?
IConvertible.GetTypeCode on MSDN
Merci, j'ai également depuis vérifié Reflector et trouvé quelques méthodes de bas niveau qui y accèdent telles que System.Variant.MarshalHelperConvertObjectToVariant. Je suppose que l'essentiel est qu'il y a peu ou pas de raison pour moi de l'annoncer comme un booléen, donc le meilleur plan d'action semble être de retourner simplement TypeCode.Object. – Josh
C'est ce que je recommanderais, sauf si vous avez une bonne raison de ne pas le faire. Le définir sur Booléen peut avoir des conséquences inattendues. –