自定义隐/显式转换 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);

 

posted @ 2020-03-17 21:40  碗粥  阅读(121)  评论(0编辑  收藏  举报