小编Fre*_*cal的帖子

具有多种返回类型的方法

我已经查看了许多与此类似的问题,但没有一个真正涉及到我想要做的事情.我要做的是从外部源读取一个变量列表,其中还包括它们的数据类型到字符串数组中:

例:

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)

也许我错过了一些东西,但我还没有找到真正做到这一点的东西.任何和所有关于这一点的想法也是受欢迎的.

c# generics methods return

10
推荐指数
2
解决办法
1万
查看次数

OData 和 Cosmos DB

我希望将 OData v4 实现为我正在处理的 ASP.NET Core 应用程序中的查询工具,我们的后备持久性存储是 Cosmos DB。到目前为止,我还没有想出一种方法来使 OData 查询针对 DocumentQuery IQueryable 接口运行而不会遇到某种异常或错误。

我想知道是否有一种“干净”的方式来利用 OData 来对抗 Cosmos Document DB(不是 Table API),如果有,如何?到目前为止,我发现的只是一个使用 Framework v4.6 的非官方库,但不是官方库,而且我发现的所有关于实现 OData 的文档几乎都是针对实体框架或内存中数据存储运行的。

c# azure odata asp.net-core azure-cosmosdb

8
推荐指数
1
解决办法
1908
查看次数

标签 统计

c# ×2

asp.net-core ×1

azure ×1

azure-cosmosdb ×1

generics ×1

methods ×1

odata ×1

return ×1