【发布时间】:2014-01-29 18:06:53
【问题描述】:
我有这样的代码:
public class OuterClass
{
public static InnerClass GetInnerClass()
{
return new InnerClass() { MyProperty = 1 };
}
public class InnerClass
{
public int MyProperty { get; set; }
}
}
什么是名为MyProperty 的属性的解决方案只能从InnerClass 和OuterClass 中设置,并且在这些范围之外,MyProperty 只是只读的
【问题讨论】:
-
你有能够在施工后设置它吗?你能不能让它成为一个构造函数参数并拥有一个只读属性?
-
您可以使用
internal处理此问题,并将类放在单独的程序集中。但你真的不应该想要。 -
我很好奇一个现实世界的非人为例子需要这个。这似乎是一个方便的功能,但我怀疑
OuterClass和InnerClass之间的关系可能需要与此处尝试的结构不同的结构。 -
@JonSkeet: 我不能让它成为构造函数参数
-
@Henk Holterman:我无法将其设置为
internal
标签: c# class inner-classes outer-classes