实现接口的通用基类

voa*_*oam 4 c# asp.net generics

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

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

}
Run Code Online (Sandbox Code Playgroud)

和界面

public interface IBasePage
    {
        UserProfile UserProfile { get;}
        bool IsStreamingAdmin {get;}
        int? EmplId {get;}       
    }
Run Code Online (Sandbox Code Playgroud)

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

IBasePage page = HttpContext.Current.Handler as IBasePage;
if (page.IsStreamingAdmin)
{
    //do something here....
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*ann 7

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

public abstract class BasePage<T> : Page, IBasePage where T : class { }
Run Code Online (Sandbox Code Playgroud)