gpt4 book ai didi

c# - 如何编写一个可以在不命名的情况下访问属性的类

转载 作者:行者123 更新时间:2023-11-30 13:34:40 24 4
gpt4 key购买 nike

我有一个关于 VB/C# 的(转储)问题

我经常使用第三方类,在这些类中我只需指定 ID 或 key 即可访问子对象。

例子:

而不是写:

DataRow row = GetAPopulatedDataRowSomeWhere();
Object result = row.Items[1]; // DataRow has no Items property
Object result = row.Items["colName"]; // Also not possible

我使用此代码访问成员:

DataRow row = GetAPopulatedDataRowSomeWhere();
Object result = row[1];
Object result = row["colName"];

有人能告诉我一个类必须是什么样子才能支持这种语法吗?我自己的类(class)有一个字典,我想通过这种方式访问​​它。

MyClass["key"]; // <- that's what I want
MyClass.SubItems["key"]; // <- that's how I use it now

最佳答案

您需要有一个 indexed property .

public class MyClass
{
public object this[string key]
{
get { return SubItems[key]; }
set { SubItems[key] = value; }
}
}

关于c# - 如何编写一个可以在不命名的情况下访问属性的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2536269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com