Méthode d'opérateur de conversion

Vous modélisez un opérateur de conversion C# en utilisant une opération ayant le stéréotype <<ConversionOperator>>.

Vous devez également déclarer l'opérateur de conversion en utilisant les mots clés explicit ou implicit. Vous définissez le mot clé de l'opérateur de conversion en sélectionnant la valeur implicit ou explicit de l'attribut étendu scope.

Dans l'exemple suivant, la classe Digit contient un opérateur de conversion explicit et un opérateur de conversion implicite :



public struct Digit
{
 public Digit(byte value)
  {
   if (value < 0 || value > 9) throw new ArgumentException();
   this.value = value;
  }
 public static implicit operator byte(Digit d)
 {
  return d.value;
 }
 
 public static explicit operator Digit(byte b)
  {
   return new Digit(b);
  }
 private byte value;
}