Шаг 106 - Преобразование типов и ключевое слово implicit

Создавая классы нам все равно понадобиться преобразовывать эти классы к каким то типам. Конечно можно написать свойства и функции, но намного красивее описать преобразование типов прямо в классе. В этом нам может помочь ключевое слово implicit. Смотрим пример.

using System;

class IntString
{
	public IntString()
	{
		i=0;
		s="0";
	}

	public static implicit operator int(IntString m)
	{
		return i; 
	}
   
	public static implicit operator string(IntString m)
	{
		return s; 
	}   

	private static int i;
	private static string s;
}

class MainClass
{
	public static void Main(string[] args)
	{
		IntString inst=new IntString();
		int x;
		string s;
		x=inst;
		s=inst;
		Console.Write(x);
		Console.Write(" ");
		Console.WriteLine(s);
	}
}

С помощью ключевого слова implicit мы описали оператор преобразования нашего класса к двум типам string и int.

gif/106_1.gif (2345 b)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 15.10.2001