c# - C# 中的属性名称和方法名称可以相同吗?

标签 c# .net class methods properties

<分区>

我有一个包含属性的类:

public bool IsMandatory {get;set;}

现在我正在添加一个方法IsMandatory(string str)

public bool IsMandatory(string str)
{
  //return false;
  //return true;
}

编译时出现错误

the type already contains a definition for 'IsMandatory'

在 C# 中方法名称和属性名称不能相同吗?我们以不同的方式使用方法和属性,为什么会出现编译错误?

最佳答案

这是一个编译器错误,因为如果名称相同会​​造成混淆。在某些情况下可能会导致歧义 - 例如,在使用 Action 委托(delegate)等时,方法不需要括号,以及在使用 var 时。

关于c# - C# 中的属性名称和方法名称可以相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15522242/

相关文章:

c# - Java <-> C# 套接字 : cant receive messages

c# - 根据输入添加或减去固定值的优雅方式

c# - 管理 CheckedListBox ItemCheck 事件以在检查项目之后而不是之前运行

javascript - 如何删除 jQuery 中特定表格行下方的所有表格行

c++ - 在 C++ 中为函数和类使用多个文件

java - 如何从子类访问主类的公共(public)常量变量?

c# - 批处理文件启动应用程序并传递多个参数将空格切换为á

c# - ClickOnce 部署恐怖

c# - 相关链接自动获得 session ID

c# - 保护 XML 文件免遭编辑