在我正在处理的类库中,我有一个具有很多属性的类,因此我将其重构为由一些较小的内部类组成。但是,现在我已将这些类标记为内部,当我将它们公开为原始类的公共(public)属性时,代码将无法编译。例如:
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; }
}
理想情况下,我想将这些helper 类封装在程序集中,因为在其他地方实例化它们没有意义。
有什么办法可以实现吗?
最佳答案
将 internal
类作为 public
属性的静态类型是没有意义的。另一个程序集中该属性的使用者将无法使用它做任何有用的事情。
也许您想要一个带有内部
构造函数的public
帮助程序类,以防止其他人创建它。
或者将属性的类型设为公共(public)接口(interface),并在内部类中实现该接口(interface)。
关于.net - 将内部类公开为公共(public)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6200053/