C# 泛型的新手,所以不确定我是否做对了,但我遇到了一些错误,非常感谢帮助解决!
namespace Microsoft.Outlook.ModernPrototype.ViewModels.ItemListView
{
public class ConversationMap<T> : Dictionary<T, ConversationListItem>
where T : ConversationKeyInterface<KeyEqualityInterface<T>>
{
public ConversationMap() : base(T.getEquality()) { } // breaks
}
public class KeyEqualityInterface<S> : IEqualityComparer<S>
where S : ConversationKeyInterface<S> { }
public interface ConversationKeyInterface<T>
{
static T getEquality();
}
}
请注意我在哪里评论它坏了。我认为我应该在这里使用某种形式的反射,但不确定在这里最好的方法是什么。