我有一个从接口IX实现的类;
interface IX
{
Type t;
int id;
}
class X : IX
{
public string x;
public string y;
public string z;
}
我得到了IX []的集合。我想编写一个通用代码,我可以将其转换为X所需的对象到X []的集合。
答案 0 :(得分:0)
您可以使用linq。
IX[] IXes;
// populating IXes here...
X[] Xes;
Xes = IXes.Cast<X>().ToArray();
此过程的通用方法如下所示
static TClass[] Cast<TInterface, TClass>(TInterface[] a) where TClass : TInterface
{
return a.Cast<TClass>().ToArray();
}