C#显式声明成员接口

ozs*_*gal 3 c# interface access-modifiers

如何声明显式接口的成员?.ie:

    public interface IPerfil
    {
        int IDPerfil
        {
            get;
            set;
        }
        int IDMarca
        {
            get;
            set;
        }
        int IDRegional
        {
            get;
            set;
        }
        int IDFilial
        {
            get;
            set;
        }
}
Run Code Online (Sandbox Code Playgroud)

然后

    public class ComentariosPerfil : BaseComentarios, IPerfil
    {
        public int IPerfil.IDFilial
        {
            get;
            set;
        }
[...]
Run Code Online (Sandbox Code Playgroud)

我收到编译错误,说"public"修饰符不能应用于此项目.

问题是:

我希望这个属性是公开的.我不能在界面中编写修饰符,如:

   public int IDPerfil
        {
            get;
            set;
        }
Run Code Online (Sandbox Code Playgroud)

那么,我如何显式实现接口成员,并使其成为公共?

Rus*_*ure 6

对于显式实现的接口,您无法指定可见性.它取自界面定义中的可见性.

所以在你的情况下使用以下内容.该函数将是公共的,因为这是定义IPerfil接口的方式:

public class ComentariosPerfil : BaseComentarios, IPerfil 
{ 
    int IPerfil.IDFilial 
    { 
        get; 
        set; 
    }
Run Code Online (Sandbox Code Playgroud)