C#类型安全且对开发人员友好的列表/收集技术 - c#

我正在用sp调用的结果填充“字典”。键是字段名,值是sp为该字段返回的任何值。一切都很好,但是出于安全和文档方面的原因,我希望开发人员具有预定义的键列表来访问该列表。我想做的是将枚举作为字典的键,以便开发人员可以安全地访问列表,但仍然可以使用字符串键值访问字典。

我希望有一个可以使用枚举键和字符串键访问的字符串值列表。请确保任何建议都易于实施,这不是我愿意增加很多实施开销的事情。

注意:
我希望有一个驱​​动该键的键,而不是一个枚举声明和一个List声明,因为我将维护两个键列表,只是格式略有不同。

更新:
让我弄清楚我想要一个字符串键的原因,我是一次使用此列表来替换具有## keyName ##之类的较大字符串。因此,我需要根据####中的内容从字典中获取值。如果我使用枚举作为键,我不知道该怎么做。如果我可以将字符串“ keyName”映射到enum.keyName,那么我的问题就解决了。

参考方案

您可以尝试以下操作:

public enum MyKeys
{
    FirstKey,
    SecondKey,
    ThirdKey
}

然后在代码的其他地方:

var dict = new Dictionary<MyKeys, string>();

dict.Add(MyKeys.FirstKey, "something");
dict.Add(MyKeys.SecondKey, "something else");
dict.Add(MyKeys.ThirdKey, "something else again");

// And then to access them, you can use
var stringVal = dict[MyKeys.FirstKey];
var secondVal = dict[(MyKeys)Enum.Parse(typeof(MyKeys), "secondkey", true)];

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

Json到php,json_decode返回NULL - php

我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…

这个json格式正确吗? - c#

我尝试解析时有json数据,返回错误的语法错误,请帮助我发现语法错误。[{"isData":"Yes","Details":"[{"Id":"70","Name":"Test","FileName&#…