c# - 在 C# 中直接引用时,如何让类使用默认的 getter/setter?

标签 c# get set overloading

假设我有一个类

class SecretInt
{
    private int secret = 1;
}

我怎样才能做到这一点。

SecretInt a = new SecretInt();
SecretInt b = new SecretInt();
Console.Write(a + b);

会输出2吗?

有没有类似的东西

Class SecretInt()
{
    int secret = 1;
    get { return secret; }
    set { secret = value; }
}

所以直接引用类会使用 getter 和 setter 而不是类本身?

最佳答案

您可以分两步完成此操作。

  1. 为您的类重载 + 运算符

    public static SecretInt operator +(SecretInt s1, SecretInt s2) 
    {
       var s = new SecretInt();
       s.secret = s1.secret + s2.secret;
       return s;
    }
    
  2. 然后覆盖ToString方法:

    public override string ToString() 
    {
       return this.secret.ToString();
    }
    

看看Operator Overloading Tutorial了解更多详情。

关于c# - 在 C# 中直接引用时,如何让类使用默认的 getter/setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946057/

相关文章:

c# - LDAP 过滤器编码器更换

javascript - 如何使用Dot net core WEB API实现文件上传?

ajax - react axios GET 不工作。注销 'name.toUppercase is not a function'

arrays - Ruby - 比较数组并根据条件获取索引

JAVA展示13套

c# - 在 C# 中使用 WMI 查询通过盘符获取硬盘序列号

c# - WPF - 如何以编程方式备份​​/恢复 LocalDB - ClickOnce

javascript - 多个 GoogleMap javascript get 调用

Python如何获取图像然后POST(通过请求库)

Javascript Set 不从大字符串数组填充