C#struct和Class隐式转换,implicit,operator。

添加隐式转换类型:static implicit operator :

public class MyClass
        {
            public double val;
            public MyClass()
            {
                val = 11111;
            }
            public static implicit operator MyClass(double d)
            {
                return new MyClass();
            }
        }

        public struct MyStruct
        {
            public MyStruct(double w)
            {
                val = w;
            }
            public double val;

            public static implicit operator MyStruct(double d)
            {
                
                return new MyStruct();
            }
        }

  这里 struct 类型是没有无入参的构造函数的。但是在实例化的时候,可以没有入参。(不知道为啥)。

  加入 implicit operator 后可以直接给类型调用方法赋值。可以不用实例化如:MyStruct b = 2;

posted @ 2018-08-09 17:53  mimo0  阅读(679)  评论(0)    收藏  举报