【发布时间】:2009-02-03 22:26:02
【问题描述】:
我有一组类,它们都可以用作为特定接口实例的参数来构造。由于它们都可以由同一个对象构造(并且这种构造发生的过程在所有情况下都基本相同),我认为模板可能会起作用。基本上,我想做这样的事情:
public static void dostuff<T, U> (List<T> items)
{
foreach (T item in items)
{
func(new U(item).SpecialMember);
}
}
当然,这不会编译,因为 U 是模板化的,因此缺少 SpecialMember 以及 T 构造函数。
基本上,接口T 的任何给定实现都具有某些特性。 U 是 T which has an additional feature that is needed *and* which can be constructed from an any instance ofU` 的实现。
建议?
【问题讨论】: