型変換を定義する
互換性のない型同士で、暗黙、明示的な型変換を定義する。
class TypeConvertionOne { public string haveCode { get; set; } public static implicit operator TypeConvertionOne(string one) { return new TypeConvertionOne() { haveCode = one }; } public static explicit operator string(TypeConvertionOne target) { return target.haveCode; } } class Program { static void Main(string[] args) { TypeConvertionOne sample = "HAHAHA"; Console.WriteLine("code : {0}", sample.haveCode); string reverse = (string)sample; Console.WriteLine("code : {0}", reverse); Console.ReadLine(); } }
情報の損失がない場合は implicit を、損失がある場合は、explicit で定義する。