我有一个“页面”,它实现了我自己的“权限”界面。
public interface PagePermissions{
Dictionary<string, Permission> readPermissions();
}
public partial class myWebPage: System.Web.UI.Page, PagePermissions
{
protected void Page_Load(object sender, EventArgs e)
{
}
Dictionary<string, Permission> PagePermissions.readPermissions()
{
Dictionary<string, Permission> results = new Dictionary<string, Permission>();
return results;
}
}
在我的母版页中,我获得了对当前Page对象的引用。
Page myPage = HttpContext.Current.Handler as Page;
但我不能调用我的函数ReadPermission,因为它没有识别它:
myPage.readPermissions();
如何调用已实现的功能?
答案 0 :(得分:6)
您需要将myPage
投射到PagePermissions
。
PagePermissions myPage = HttpContext.Current.Handler as PagePermissions;
myPage.readPermissions();
答案 1 :(得分:1)
尝试将myPage
投射到您的界面。
PagePermissions myPagePermissions = (PagePermissions)myPage;
答案 2 :(得分:0)
为什么使用接口函数的显式实现?考虑更改代码行
Dictionary<string, Permission> PagePermissions.readPermissions()
{
到
public Dictionary<string, Permission> readPermissions()
{