如何调用已实现的接口函数

时间:2012-05-30 19:08:37

标签: c# asp.net interface

我有一个“页面”,它实现了我自己的“权限”界面。

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();

如何调用已实现的功能?

3 个答案:

答案 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()
{