我希望一个特定的例程能够在类中设置变量 - 但该字段保持只读。
例如,int'authlevel'在这里应该可以公开访问 - 但只能由选择性子设置;
public class SessionAuth
{
int authLevel;
public int AuthLevel
{
get
{return authLevel;}
set
{<<IF CALLER = SUB XYZ>> then authLevel=value;}
}
...
这可能吗?
答案 0 :(得分:4)
您可能可以通过诊断库(用于生成调用堆栈)来执行此操作,但您不想这样做。
如果您需要限制对setter的访问权限,请将其标记为private
,以便只有您的班级才能对其进行修改。如果你不能相信自己的课程,你需要重新思考你的代码和设计。
public int MyProp { get; private set; }