Generics 无法将控件类型强制转换为';System.Web.UI.WebControl.Lable类型
我有这个通用函数Generics 无法将控件类型强制转换为';System.Web.UI.WebControl.Lable类型,generics,casting,controls,label,Generics,Casting,Controls,Label,我有这个通用函数 T AddControl<T>() where T : WebControl, new() { T ctrl = new T(); if (ctrl is Label) {((Label)ctrl).Text = "FirstName :";} return ctrl; } T AddControl(),其中T:WebControl,new(){ T ctrl=新的T(); 如果(ctrl是Label){((Label)ctrl).Text=“FirstN
T AddControl<T>() where T : WebControl, new() {
T ctrl = new T();
if (ctrl is Label) {((Label)ctrl).Text = "FirstName :";}
return ctrl; }
T AddControl(),其中T:WebControl,new(){
T ctrl=新的T();
如果(ctrl是Label){((Label)ctrl).Text=“FirstName:;}
返回ctrl;}
我收到错误:“无法将类型“T”转换为“System.Web.UI.Webcontrols.Lable”
正确的铸造方法是什么。
提前谢谢。
BB您可以将
用作
:
T AddControl<T>() where T : WebControl, new() {
T ctrl = new T();
Label label = ctrl as Label;
if (label != null)
{
label.Text = "FirstName :";
}
return ctrl;
}
T AddControl(),其中T:WebControl,new(){
T ctrl=新的T();
标签标签=ctrl作为标签;
如果(标签!=null)
{
label.Text=“FirstName:”;
}
返回ctrl;
}