J'utilise MiscUtil Opérateurs pendant un certain temps sans grands problèmes. Mais maintenant, je l'ai trouvé quelque chose qui me dérange vraiment:Comment utiliser MiscUtil.Operator sur System.Byte?
byte first = 13;
byte second = 29;
byte result = MiscUtil.Operator.Add(first, second);
Le résultat simple attendu de cette équation devrait être result == 42
mais malheureusement cela jette un InvalidOperationException
:
The binary operator Add is not defined for the types 'System.Byte' and 'System.Byte'.
En examinant de plus près à ce comportement étrange vous découvrirez que System.Byte
n'implémente pas vraiment ces opérateurs. Dans C#, ces types seront implicitement convertis en Int32
et cela implémentera ces opérateurs.
Donc la question est maintenant: Y at-il une chance d'obtenir MiscUtil de travailler avec byte
et sbyte
?
Attention à ce que vous souhaitez. Ceci n'est pas supporté par Expression.Add() en raison de la grande chance pour le débordement non diagnostiquable. –