关于=的重载

来源:4-3 重载运算符

_念旧

2018-06-01 14:05

在某本参考书上看到 = 符号是可以重载的,求大神帮忙看一下这段代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace Test

{

   

    class Program

    {

        static void Main(string []args)

        {

            EqualClass equalstr = "重载“=”运算符";

            string str = equalstr;

            Console.Write(str);

            Console.Read();

        }

        class EqualClass

        {

            private string _str;

            private EqualClass(string str)

            {

                this._str = str;

            }

            public static implicit operator EqualClass(string str)

            {

                return new EqualClass(str);

            }

            public static implicit operator string(EqualClass mystr)

            {

                return mystr._str;

            }

        }

    }

}


写回答 关注

2回答

  • kming
    2019-03-18 15:24:09

    这不是前面刚讲的隐式类型转换吗,怎么变成重载'='号了


  • 超暖系呆少年i
    2018-06-02 10:30:48

     隐式转换

        public static implicit operator EqualClass(string str)

                {

                    return new EqualClass(str);    //这不是返回 重新创建了一个新对象去重载 ‘=’,看代码好像是符合逻辑。。

                }


C#面向对象编程

本系列教程主要是,带你学习C#面向对象编程的编程思想、编程技巧

68612 学习 · 153 问题

查看课程

相似问题