【发布时间】:2016-03-16 08:25:41
【问题描述】:
我想将 FindControl 方法的输出转换为特定类型的控件,但我希望将类型本身作为参数传递。我第一次尝试:
public static List<T> GetList<T>(..., Type tp, ...)
{
...
tp castedCtrl = (panel.FindControl(ctrlPrefixName + i.ToString()) as tp);
...
}
这是我的首选结果,但根本无法编译。 我也试过了:
dynamic castedCtrl = Convert.ChangeType(panel.FindControl(ctrlPrefixName + i.ToString()), tp);
但这需要我所有的 tp 实现 IConvertible 接口,这是不希望的,并且需要很多意想不到的工作。
如何将 FindControl 输出的输出转换为我想要的类型(实际上我想传递用户控件类的名称)。
【问题讨论】:
-
类型是否经常更改,您每次都想将其作为参数传递?
标签: asp.net casting webforms findcontrol dynamic-controls