我不是C#的新手,但我发现了一个有点令人费解的行为.
我有一个界面
public interface IApplicationPage
{
Person ThePerson { get; set; }
Application Application { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在页面上实现了界面
public partial class tripapplication2 : System.Web.UI.Page, IApplicationPage
{
Person IApplicationPage.ThePerson { get; set; }
Application IApplicationPage.IApplicationPage.Application { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在页面本身引用ThePerson时,我需要跳过箍.例如.
1)ThePerson.Birthday
提出错误说"当前上下文中不存在名称'ThePerson'."
2)((IMissionTripApplicationPage)这个.)ThePerson.Birthday
这有效,但看起来很糟糕.
有没有更好的方法来引用已实现的属性?
Jar*_*Par 23
看起来你在样品中留下了一条线.我相信实施中的ThePerson系列应该阅读
Person IApplicationPage.ThePerson { get; set; }
Run Code Online (Sandbox Code Playgroud)
这种类型的实现称为显式接口实现.这意味着只有在通过接口类型的引用看到对象时才能查看该成员.
如果希望通过具体类型引用查看成员,请将其公开并删除显式实现
public Person ThePerson { get; set; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3676 次 |
| 最近记录: |