c# - 此属性的“基础”是什么?

标签 c# .net

我在将要从事的项目中偶然发现了这一点:

public int? OrgId
{
    get { return base["OrgId"] as int?; }
    set { base["OrgId"] = value; }
}


单击OrgId,Resharper将我带到此签名的方法:

public override object this[string propertyName] { get; set; }


base [“”]有什么作用?覆盖的this []部分意味着什么?在Google上找不到任何有意义的信息。

最佳答案

这意味着基类具有索引器,并且该索引器接受字符串作为可能的参数。我不知道该索引器的作用是在基类中。\

get中,您实际上是从该索引器中拉出的,而在set中,您是在该索引器中的set中。看来这只是一个包装,所以此类的使用者不必使用索引器,或者它是不需要内部类属性的实现。

我希望不是后者,因为如果是这样的话,他们本可以编写更少的代码,例如:

public int? OrgId { get; set; }

关于c# - 此属性的“基础”是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18496078/

相关文章:

c# - 如何使用 XElement 检查元素是否存在?

c# - 如何从另一个表中获取与另一个表中的名称或ID匹配的相同名称或ID

c# - 不转换时出现 InvalidCastException

c# - 将数据存储在 Azure WebJob 中

C# DataGridView 不随 DataTable 更新

.net - 在 .NET 中快速搜索 XMl 文件(或如何索引 XML 文件)

c# - 为什么在 Jon Skeet 的书中的这个例子中使用了 internal 关键字?

c# - SQL Server CE 抛出不兼容异常

c# - 网络部署 deploymentskiprule

c# - 立即等待异步任务与先声明然后等待