假设我有一个类
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 而不是类本身?
最佳答案
您可以分两步完成此操作。
为您的类重载
+ 运算符
public static SecretInt operator +(SecretInt s1, SecretInt s2) { var s = new SecretInt(); s.secret = s1.secret + s2.secret; return s; }
然后覆盖
ToString
方法:public override string ToString() { return this.secret.ToString(); }
看看Operator Overloading Tutorial了解更多详情。
关于c# - 在 C# 中直接引用时,如何让类使用默认的 getter/setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946057/