有没有办法显示特定自定义重载运算符的作用?

时间:2018-05-23 13:20:30

标签: c# overloading summarization

有没有办法为重载运算符提供等效的方法摘要?

即。我有一个重载+运算符和自定义方法的以下对象:

CustomObject objectA = new CustomObject();
CustomObject objectB = new CustomObject();

objectA.MyInt = 10;
objectA.MyString = "hello"; 

objectB.MyInt = 55;
objectB.MyString = "apple";

objectA.CustomMethod(34);

objectA += objectB; 

如果此对象在库中并且我正在使用它,我可以将鼠标悬停在自定义方法上以查看创建者编写的摘要以查看该方法的作用。是否有类似的方法来查看重载运算符的效果?

在此示例中,您不知道它将对值或字符串执行什么操作。总和和附加?最大和替换?乘以并忽略?

1 个答案:

答案 0 :(得分:5)

请考虑以下代码,演示如何使用/// <summary></summary>标记:

public class Test
{
    /// <summary>Returns a new Test with X set to the sum of lhs.X and rhs.X</summary>
    public static Test operator+ (Test lhs, Test rhs)
    {
        return new Test {X = lhs.X + rhs.X};
    }

    public int X;
}

class Program
{
    public static void Main()
    {
        Test a = new Test {X = 1};
        Test b = new Test {X = 2};
        Test c = a + b;
    }
}

如果您将鼠标悬停在+行的Test c = a + b;上,工具提示会说:

  

返回一个新的Test,其中X设置为lhs.X和rhs.X

之和

(我确信应该有一个重复的问题,但我有一个搜索,我无法找到一个特定的运算符重载。)