我正在審查在C#泛型這個url,但我對如何實現通用實現我心目中不清楚:2017年創建通用屬性實現的好方法?
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/generic-methods
我需要爲下游序列化的自定義KeyValuePair類。下游json序列化將原生.net字典轉換爲通用javascript對象,這增加了複雜性和開銷,因此我需要創建一個自定義KeyvaluePair類。
但是,我想使此自定義KeyValuePair類通用,因此鍵或值可以是int或字符串。用C#實現這個最優雅的方法是什麼?下面的代碼是不正確,但證明什麼,我在尋找:
public class KeyValuePair
{
public <T> Key { get; set; }
public <T> Value { get; set; }
}
我做了一些google搜索,我發現的唯一引用是幾年老的實現顯得有點哈克。不知道是否有更好的方法來做到這一點在2017年....
''在類名後面,然後在其餘部分使用'T',就像它是一個類型名稱 –
litelite
您可以查看自定義(de)串行器。這將是更好的路線,而不是這樣做。 –
這聽起來像一個[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) - 你的潛在問題聽起來像它應該可以解決與內置'字典'或'KeyValuePair '類型 - 你應該問一下,而不是 - 詳細說明在使用這些類型時你實際上遇到了哪些序列化問題等。 –