簡體   English   中英

C#中具有字典的泛型

[英]Generics with Dictionary in c#

我想返回一個字典,但是我可以使用2種鍵,因此我想在返回值中包含T。 有任何想法嗎?

like so

public static Dictionary<string, T> Read<T>(string dicValueType, string path)
{ 

    if(dicValueType.Equals("User"))
    {
       Dictionary<string, User> usersDictionary = 
                   JsonConvert.DeserializeObject<Dictionary<string, User>> 
                                                     (File.ReadAllText(path));
       return usersDictionary;
    }
    Dictionary<string, Column> boardDictionary = 
                     JsonConvert.DeserializeObject<Dictionary<string, Column>> 
                                                (File.ReadAllText(path));
    return boardDictionary;
}

我在“ return usersDictionary;”這一行中遇到錯誤。

您不是要將JSON對象反序列化為泛型的全部。 這將無需所有if-else檢查即可完成:

public static Dictionary<string, T> Read<T>(string path) 
    => JsonConvert.DeserializeObject<Dictionary<string, T>>(File.ReadAllText(path));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM