【发布时间】:2014-08-12 10:27:06
【问题描述】:
我想要一个C#字符串常量集合,它必须有:
1.Keys(定义在编译时间),我可以像这样访问:
Console.WriteLine(obj.Key1); // string output: Value1
Console.WriteLine(obj.Key2); // string output: Value2
目的是为了有 Intellisens 支持(obj.\ctrl+space\ - 键列表出现)
2.枚举:
foreach(var key in obj)
{
Console.WriteLine(key);
// output:
// Value1
// Value2
}
3.继承
class A {
obj.A = "Value1";
obj.B = "Value2";
public void IterateOverMyObj()
{
foreach (var obj in MyObj)
{
Console.WriteLine(obj);
// Output:
// Value1
// Value2
}
}
class B : A {
obj.A = "Value1New";
obj.C = "Value3NewKey";
}
void Main()
{
B b = new B();
b.IterateOverMyObj();
// output:
// Value1New
// Value2
// Value3NewKey
}
作为值,我只需要字符串。这一切都可能吗?
【问题讨论】:
-
您是否要重新创建Dictionary? (Example usage)
-
您正在寻找类似于
Dictionary和dynamic键(dot 表示法)的东西。看看这篇博文:dynamic dictionary -
您可以从this answer 开始并添加功能以列出关闭键。
-
这是密封类,不能继承。
标签: c# collections enums