Nev*_*ane 0 c# properties interface internal
我正在创建一个界面。咱们来说说下面的
internal interface MyInterface
{
string Prop { get; }
}
Run Code Online (Sandbox Code Playgroud)
这是一个内部接口。我打算在项目中使用它,并且不想公开暴露Prop
。然而,当我尝试将这个接口实现到一个类中时,我被迫将该Prop
属性公开。我不明白为什么当接口本身是内部的并且只能在内部使用时我需要公开这个属性。
因为接口本身只是对象面向公众的功能的契约。任何非公开的东西并不真正属于那里,而是可以继续执行类型。
然而,这本质上不是问题。如果类型为internal
,则该类型的任何属性在该范围之外都不可见。因为他们怎么可能呢?在该范围之外,类型本身是未知的。(任何不知道是什么的代码MyInterface
肯定不会知道MyInterface.Prop
是什么。)
这些属性是public
指使用代码可以看到它们。但这仅对首先可以使用该类型的代码(仅internal
对该程序集而言)重要。
归档时间: |
|
查看次数: |
5006 次 |
最近记录: |