【发布时间】:2010-03-03 08:46:04
【问题描述】:
我正在尝试执行以下操作,但我认为我一定遗漏了一些东西......(对泛型来说相当新)
(需要针对.NET 2.0 BTW)
interface IHasKey
{
string LookupKey { get; set; }
}
...
public static Dictionary<string, T> ConvertToDictionary(IList<T> myList) where T : IHasKey
{
Dictionary<string, T> dict = new Dictionary<string, T>();
foreach(T item in myList)
{
dict.Add(item.LookupKey, item);
}
return dict;
}
不幸的是,这会产生“非泛型声明上不允许使用约束”错误。有什么想法吗?
【问题讨论】:
-
对不起,我现在把编译器错误信息放在帖子下面了。
-
你要添加的项目,是同一个类,还是实现了IHasKey的不同类?
-
@Mikael - 是的,课程都不同。
标签: c# generics list dictionary