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

本文关键字:嵌套 属性 访问 程序集 | 更新日期: 2023-09-27 18:29:59

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

我想访问SomeFile.Header.CreateDateSomeFile.Body.Hash,但由于嵌套类是私有的,SomeFile中类的属性是公共的,因此无法编译代码,显示不一致的可访问性错误。

我不希望HeaderBodySomeFile之外实例化,但我希望通过SomeFile.HeaderSomeFile.Body 访问它们

有什么模式或解决方案可以实现这一点吗?

提前感谢!

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

使构造函数内部如下:

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等类型,但它们将无法根据请求实例化它。