我已经查看了许多与此类似的问题,但没有一个真正涉及到我想要做的事情.我要做的是从外部源读取一个变量列表,其中还包括它们的数据类型到字符串数组中:
例:
ID/Key Type Value/Data;
varName1 bool true;
varName2 string str;
varName3 int 5;
Run Code Online (Sandbox Code Playgroud)
然后我将这些对象存储到字典中作为包含多个字符串的对象,ID也用作键.
我想要做的是现在创建一个方法,该方法使用switch语句将字符串转换为正确的数据类型,并返回它而不必在方法调用中指定任何内容.该函数应如下所示:
public ??? Method(string key)
{
if(dictionary.ContainsKey(ID))
{
Var temp = dictionary[ID];
switch (temp.Type)
{
case "bool":
return Convert.ToBoolean(temp.Value);
case "int"
return Convert.ToInt(temp.Value);
case "string"
return temp.Value;
}
}
return "NULL";
}
Run Code Online (Sandbox Code Playgroud)
方法调用应该如下所示:
int x = Method(string key);
string word = Method(string key);
bool isTrue = Method(string key);
Run Code Online (Sandbox Code Playgroud)
也许我错过了一些东西,但我还没有找到真正做到这一点的东西.任何和所有关于这一点的想法也是受欢迎的.
我希望将 OData v4 实现为我正在处理的 ASP.NET Core 应用程序中的查询工具,我们的后备持久性存储是 Cosmos DB。到目前为止,我还没有想出一种方法来使 OData 查询针对 DocumentQuery IQueryable 接口运行而不会遇到某种异常或错误。
我想知道是否有一种“干净”的方式来利用 OData 来对抗 Cosmos Document DB(不是 Table API),如果有,如何?到目前为止,我发现的只是一个使用 Framework v4.6 的非官方库,但不是官方库,而且我发现的所有关于实现 OData 的文档几乎都是针对实体框架或内存中数据存储运行的。