Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何编写一个无需命名即可访问属性的类_C#_.net_Vb.net_Class Design - Fatal编程技术网

C# 如何编写一个无需命名即可访问属性的类

C# 如何编写一个无需命名即可访问属性的类,c#,.net,vb.net,class-design,C#,.net,Vb.net,Class Design,我有一个关于VB/C的问题# 我经常使用第三方类,在第三方类中,我只需指定id或密钥即可访问子对象 例如: 而不是写: DataRow row = GetAPopulatedDataRowSomeWhere(); Object result = row.Items[1]; // DataRow has no Items property Object result = row.Items["colName"]; // Also not possible 我使用此代码访问成员: DataRow

我有一个关于VB/C的问题#

我经常使用第三方类,在第三方类中,我只需指定id或密钥即可访问子对象

例如:

而不是写:

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"];
有人能告诉我一个类必须是什么样子才能支持这种语法吗? 我自己的类有一本字典,我想通过这种方式访问它

MyClass["key"]; // <- that's what I want
MyClass.SubItems["key"]; // <- that's how I use it now
MyClass[“key”];// 你需要有一个健康的身体


谢谢。这就是我需要的线索。
public class MyClass
{
    public object this[string key]
    {
        get { return SubItems[key]; }
        set { SubItems[key] = value; }
    }
}