Csharp/C#教程:界面的私有成员分享


界面的私有成员

如果在我的程序中我有接口,那么它的所有成员都是隐式公开的 。 在实现该接口的类中,我必须公开该成员(属性)。

是否可以将其设为私有

是否可以将接口实现设为私有?

完全私有 – 接口表示一组公共方法和属性 。 没有办法使接口实现私有化。

可以做的是明确实现:

public interface IFoo { void Bar(); } public class FooImpl { void IFoo.Bar() { Console.WriteLine("I am somewhat private.") } private void Bar() { Console.WriteLine("I am private.") } } 

现在调用IFoo.Bar()的唯一方法是通过接口显式

 FooImpl f = new FooImpl(); f.Bar(); // compiler error ((IFoo)f).Bar(); 

简答:没有。

接口的基本思想是它的类和组件之间的契约,这意味着它的成员是供公众使用的。 如果您需要私人成员,这可能意味着您可能需要重新审视您的设计。

接口意味着公开曝光。

你可以做的是切换到带有受保护抽象成员的抽象基类。 在许多方面,这将通过强制实施者在没有公开的情况下获得方法来实现相同目的。

 public abstract class MyBase { protected abstract void DoSomething(); } 

对此的主要认识是,您不会像使用接口那样使用抽象类获得多重inheritance,因此请权衡这种需求对您的重要性。

上述就是C#学习教程:界面的私有成员分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1025495.html

(0)
上一篇 2022年1月8日
下一篇 2022年1月8日

精彩推荐