关于c#的泛型,如何在方法的返回值使用泛型?
我要做一个类,其中要适合WEB和WIN
于是有基类
public abstract class Menu
{
public virtual object HeaderMenu
{
get {return "Menu";}
}
}
继承类ForWeb
public abstract class MenuForWeb:Menu
{
public override System.Web.UI.Control HeaderMenu
{
get {return System.Web.UI.Control;}
}
}
继承类ForWIN
public abstract class MenuForWeb:Menu
{
public override System.UI.Control HeaderMenu
{
get {return new System.UI.Control;}
}
}
然后用工厂模式
CreateHeaderMenu()
{
if (如果是WEB)
return (new MenuForWeb());
else
return (new MenuForWin());
}
问题出来了,我要求的是
在WEB中
HeaderMenu属性返回的必须是System.Web.UI.Control类型,
在WIN中
返回的又是System.UI.Control型。
我该如何 设计基类的public virtual object HeaderMenu的返回值类型?