我尝试做以下,但我想我必须失去了一些东西...(相当新的仿制药)创建一个通用字典从一个普通的列表
(需要针对.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;
}
不幸的是,这给出了“非通用声明中不允许约束”的错误。有任何想法吗?
究竟是什么问题? – 2010-03-03 08:50:51
对不起,我已经把编译器错误信息放在帖子下面了。 – Damien 2010-03-03 08:55:38
你正在添加的项目,它们是同一个类,还是实现IHasKey的不同类? – 2010-03-03 09:09:43