ali*_*ray 2 .net encapsulation class-library public internal
在我正在研究的类库中,我有一个具有许多属性的类,所以我重构它由一些较小的内部类组成.但是,现在我将这些类标记为内部类,当我将它们作为原始类的公共属性公开时,代码将无法编译.例如:
public class TheOriginalClass
{
public MyInternalClass InternalClassProperty { get; set; }
}
// It doesn't make sense to use this by itself
internal class MyInternalClass
{
public string InterestingProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想在程序集中封装这些辅助类,因为它们在其他地方实例化是没有意义的.
有没有办法实现这个目标?
将internal类作为public属性的静态类型是没有意义的.另一个程序集中该属性的使用者将无法对其执行任何有用的操作.
也许你想要一个public带有internal构造函数的辅助类来防止其他人创建它.
或者将属性的类型设置为公共接口,并在内部类中实现该接口.
| 归档时间: |
|
| 查看次数: |
614 次 |
| 最近记录: |