繁体   English   中英

实现接口的通用基类

[英]generic base class that implements interface

如何在asp.net webforms项目中声明我的Basepage类以实现IBasePage?

public abstract class BasePage<T> : Page where T : class
{

}

和界面

public interface IBasePage
    {
        UserProfile UserProfile { get;}
        bool IsStreamingAdmin {get;}
        int? EmplId {get;}       
    }

我的最终目标是能够编写如下代码:

IBasePage page = HttpContext.Current.Handler as IBasePage;
if (page.IsStreamingAdmin)
{
    //do something here....
}

你的问题对我来说并不完全清楚,但你不能这样做:

public abstract class BasePage<T> : Page, IBasePage where T : class { }
public abstract class BasePage<T> : Page, IBasePage where T : class { }

如果您的类实现了interface定义的所有方法,您的代码就可以编译,并且您将能够调用抽象类的instance

调用page.IsStreamingAdmin将返回您拥有实例的类的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM