【发布时间】:2013-09-04 00:00:38
【问题描述】:
我有这段代码:
class MyClass
{
public class MySubClass
{
public int One { private set; public get; }
public int Two { private set; public get; }
public int Three { private set; public get; }
};
public MySubClass ObjectMySubClass { private set; public get; }
private void SetSomething()
{
ObjectMySubClass.One = 5; //can do that
}
}
我怎样才能使我的一、二和三变量可以在课堂外读取但只在 MyClass 中设置?
MyClass obj = new MyClass();
obj.ObjectMySubClass.One = 5; //can't
int value = obj.ObjectMySubClass.One; //can do that
【问题讨论】:
-
你有一个嵌套类,而不是子类?
-
防止这种可访问性的方法是:不要将其设为嵌套类型。另一种方法是:选择性地不要这样做(即,如果您认为不应该访问该值,请不要访问该值)。
-
我刚刚将您的代码复制到一个项目中,它会为我抛出一个编译器错误
标签: c# class oop properties