各种IReliableDictionaries列表

时间:2016-11-05 16:41:49

标签: c# generics azure-service-fabric

在Service Fabric应用程序中使用IReliableDictionary

尝试组织一个班级中的所有词典,有没有办法让IReliableDicionary列表使用不同的键?

IReliableDictionary<Guid, User>   x = await GetDictionaryAsync<Guid, User>("userDict");
IReliableDictionary<string, Guid> y = await GetDictionaryAsync<string, Guid>("emailToUser");

var dicts = new List<IReliableDictionary<object, object>> { x, y };

只有这不起作用,因为IReliableDictionary的密钥必须实现IComparableIEquatable

在C#中没有那么多Generics的经验。可以考虑如何在java中使用? extends表示法执行此操作。这在C#中是否可行?

1 个答案:

答案 0 :(得分:0)

我不确定你要去哪里。您不会让编译器为该列表中的字典强制实施类型安全。你必须写反射代码。您也可能遇到问题,试图自己维护对字典的引用。

StateManager对象已经为您管理了词典 - 这就是它的用途。你需要跟踪自己的唯一事情就是词典的名称。