相关疑难解决方法(0)

为什么我不能拥有受保护的接口成员?

反对在接口上声明受保护访问成员的论点是什么?例如,这是无效的:

public interface IOrange
{
    public OrangePeel Peel { get; }
    protected OrangePips Seeds { get; }
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,接口IOrange将保证实现者至少OrangePips向其继承者提供实例.如果实现者想要,他们可以扩大范围public:

public class NavelOrange : IOrange
{
    public OrangePeel Peel { get { return new OrangePeel(); } }
    protected OrangePips Seeds { get { return null; } }
}

public class ValenciaOrange : IOrange
{
    public OrangePeel Peel { get { return new OrangePeel(); } }
    public OrangePips Seeds { get { return new OrangePips(6); …
Run Code Online (Sandbox Code Playgroud)

c# interface protected access-modifiers

67
推荐指数
6
解决办法
5万
查看次数

您是否有理由无法在方法或界面中定义访问修饰符?

方法可见性的责任归结为实现接口的类.

public interface IMyInterface
{
  bool GetMyInfo(string request);
}
Run Code Online (Sandbox Code Playgroud)

在方法GetMyInfo()生成以下错误之前,在C#set访问修饰符public,private或protected中:修饰符'private'对此项无效.

您是否有理由无法在方法或界面中定义访问修饰符?

(问题已经在法语中提到了这里)

c# interface access-modifiers

5
推荐指数
2
解决办法
2591
查看次数

标签 统计

access-modifiers ×2

c# ×2

interface ×2

protected ×1