【发布时间】:2012-06-05 19:14:33
【问题描述】:
这适用于 C#? Passing Class type as a parameter
我有一个实现接口的类适配器。我想用 MyFooClass 实例填充数组结构,我想从外部接收 MyFooClass 的名称或引用。我将在我的适配器代码中实例化它们。
例如:
public void FillWsvcStructs(DataSet ds, ClassType Baz)
{
IFoo.Request = ds.DataTable[0].Request;
IFoo.Modulebq = string.Empty;
IFoo.Clasific = string.Empty;
IFoo.Asignadoa = ds.DataTable[0].Referer;
IFoo.Solicita = "Jean Paul Goitier";
// Go with sub-Elems (Also "Interfaceated")
foreach (DataSet.DataTableRow ar in ds.DataTable[1])
{
if ((int) ar.StatusOT != (int)Props.StatusOT.NotOT)
{
///From HERE!
IElemRequest req = new (Baz)(); // I don't know how to do it here
///To HERE!
req.Id = string.Empty;
req.Type = string.Empty;
req.Num = string.Empty;
req.Message = string.Empty;
req.Trkorr = ar[1];
TRequest.Add(req);
}
}
}
【问题讨论】:
-
有一个答案表明使用
.ToThisType()和.ToTheOtherType()具有相同的类来控制它会得到什么......,因为在某些时候你正在使用的类知道她应该到达那里.它也很有用。可惜我不能投票,因为它被删除了。但是现在你知道解决方案也存在。谢谢,无名英雄!