自定义隐/显式转换 operator implicit explicit

1. 新建一个类

public class StringTest
    {
        public string Str { get; set; }

        /// <summary>
        /// 隐士转换
        /// </summary>
        /// <param name="name"></param>
        public static implicit operator StringTest(string name)
        {
            StringTest stringTest = new StringTest();
            stringTest.Str = name;
            return stringTest;
        }

        /// <summary>
        /// 显示转换
        /// </summary>
        /// <param name="stringTest"></param>
        public static explicit operator string(StringTest stringTest)
        {
            return stringTest.Str;
        }
    }

2.测试

 StringTest stringTest = "天南海北";
 Console.WriteLine(stringTest.Str);
 StringTest stest = new StringTest();
 stest.Str = "你回来了";
 string str = (String)stest;
 Console.WriteLine(str);

猜你喜欢

转载自www.cnblogs.com/fat-girl/p/12513669.html