【问题标题】:const and non-const function overloadingconst 和非 const 函数重载
【发布时间】:2012-07-26 06:41:39
【问题描述】:

我们在 C++ 中有 const 和非 const 函数重载,如 here 所述,并在 STL 迭代器中使用。

我们在 Java 和 C# 中有这样的方法重载吗?

【问题讨论】:

  • 嘿,你得到了Jon Skeet 答案:)

标签: c# java constants overloading


【解决方案1】:

Java 和 C# 没有 const 函数的概念,因此 const/non-const 重载的概念并不适用。

【讨论】:

  • 感谢 Jon 的及时澄清 :)
【解决方案2】:

遗憾的是,C# 不支持 const 方法或 const 参数。 C# 2.0 中有一个新特性在类似的场景中有所帮助。在 C#2.0 中,属性的 get 和 set 访问器可以具有不同的可访问性。因此,您可以将 get 访问器设为 public,并将 set 保护如下

class MyClass

{

int _val;



    public int Val
   {
         protected set { _val = value; }

         get { return _val; }

   }

}

【讨论】:

  • 或者在 C# 3 中...public int Val { get; protected set; }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-23
  • 2015-06-03
相关资源
最近更新 更多