logo
CSharp_Prog_Guide

Пример 1 Описание

В этом примере используется оператор явного преобразования. Этот оператор преобразует тип значения Byte в тип значения Digit. Поскольку в тип Digit могут быть преобразованы не все значения типа byte, преобразование выполняется явным образом, что означает использование операции приведения, как показано в методе Main.

Code

struct Digit

{

byte value;

public Digit(byte value) //constructor

{

if (value > 9)

{

throw new System.ArgumentException();

}

this.value = value;

}

public static explicit operator Digit(byte b) // explicit byte to digit conversion operator

{

Digit d = new Digit(b); // explicit conversion

System.Console.WriteLine("conversion occurred");

return d;

}

}

class TestExplicitConversion

{

static void Main()

{

try

{

byte b = 3;

Digit d = (Digit)b; // explicit conversion

}

catch (System.Exception e)

{

System.Console.WriteLine("{0} Exception caught.", e);

}

}

}

Output 1

conversion occurred

Код

---