如何从不同的程序集访问私有嵌套类的属性?

时间:2014-11-10 04:38:52

标签: c# properties nested-class

我有一个名为SomeFile的类,它有一个名为HeaderBody的嵌套类。

我想访问SomeFile.Header.CreateDateSomeFile.Body.Hash,但代码无法编译,显示不一致的辅助功能错误,因为嵌套类是私有的,SomeFile中的类的属性是公共的

我不希望在Header之外设置BodySomeFile,但我希望通过SomeFile.HeaderSomeFile.Body访问它们

是否有任何模式或任何解决方案来实现这一目标?

提前感谢!

1 个答案:

答案 0 :(得分:1)

让你的构造函数内部像这样:

public class SomeFile
{
    public Header Header { get; set; }

    public Body Body { get; set; }

}

public class Header
{
    internal Header()
    {

    }

    public DateTime CreateDate { get; set; }
}

public class Body
{
    internal Body()
    {

    }

    public string Hash { get; private set; }
}

这将允许呼叫者访问HeaderBody等类型,但他们将无法按要求对其进行实例化。