很抱歉,这个问题的措词不正确;我来自Javascript / Typescript背景。
我要创建的是一组不可变的键/值对,IDE /编译器将在其中知道该列表中存在或不存在哪些键。我猜想这可能是一个类,也许这确实是最好的选择,但是我很想了解是否有替代方法。
例如,对于应用程序的配置,在Typescript中我可以拥有:
const config = {
applicationName: 'Some application',
port: 8000,
};
const testOne = config.applicationName;
const testTwo = config.fail; // this would not work
也就是说,IDE使用的编译器或某些解释器能够根据结构判断该结构不存在键/值。
在我看来,对于此类数据而言,一个类过多了;尽管由于我是该语言的新手,这可能是由于我的天真。我想知道C#中是否有一种结构可以以不变的方式存储键和值,并在编译时知道该集合中是否有键/值对。
答案 0 :(得分:3)
var obj = new
{
applicationName = "",
port = 9000
};
var name = obj.applicationName;
var something = obj.fail; //doesn't compile
尽管如此,我还是鼓励您创建类并为其命名,因为您可以从API中公开它们。