永发信息网

C#怎么实现一元运算符++的重载,要区分前置和后置

答案:1  悬赏:70  手机版
解决时间 2021-11-07 08:55
  • 提问者网友:我是女神我骄傲
  • 2021-11-07 01:50
C#怎么实现一元运算符++的重载,要区分前置和后置
最佳答案
  • 五星知识达人网友:孤独入客枕
  • 2021-11-07 03:27
public static yourClass operator ++(yourClass value)
{
    propertyType property = value.someProperty++;
    yourClass newValue = new yourClass();
    newValue.someProperty = property;
    // 具体逻辑自己实现。
    // 注意,不要修改value里任何属性的值,而是返回新的 yourClass 实例。
    return newValue;
}这实现后置的++。
yourClass cls = ...;
yourClass value = cls++;MSDN上有一句话:与在 C++ 中不同,此方法并不需要直接修改其操作数的值。实际上,修改操作数的值会违反后缀增量运算符的标准语义。
前置的不用实现,编译器会根据代码上下文自动帮你完成。

追问就是说我只要重载这一个方法public static yourClass operator++(yourClass value)就能自动区分前置和后置吗
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯