在 c# .Net 中创建基于索引的类

2024-04-18

我有一些类,想使用索引或类似的东西访问它们的属性

ClassObject[0]或者更好的是ClassObject["PropName"]

而不是这个

ClassObj.PropName.

Thanks


您需要索引器:

http://msdn.microsoft.com/en-us/library/aa288465(v=vs.71).aspx http://msdn.microsoft.com/en-us/library/aa288465(v=vs.71).aspx

public class MyClass
{
    private Dictionary<string, object> _innerDictionary = new Dictionary<string, object>();

    public object this[string key]
    {
        get { return _innerDictionary[key]; }
        set { _innerDictionary[key] = value; }
    }
}

// Usage
MyClass c = new MyClass();
c["Something"] = new object();

这是记事本编码,因此请持保留态度,但索引器语法是正确的。

如果您想使用它来动态访问属性,那么您的索引器可以使用反射将键名称作为属性名称。

或者,看看dynamic对象,特别是ExpandoObject,可以将其转换为IDictionary为了根据文字字符串名称访问成员。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 c# .Net 中创建基于索引的类 的相关文章

随机推荐