Создавая классы нам все равно понадобиться преобразовывать эти классы к каким то типам. Конечно можно написать свойства и функции, но намного красивее описать преобразование типов прямо в классе. В этом нам может помочь ключевое слово 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.