控制对类成员的访问

本文关键字:访问 成员 控制 | 更新日期: 2023-09-27 18:20:34

我希望特定的例程能够在类中设置变量,但字段保持只读。

例如,这里的int"authlevel"应该是可公开读取的,但只能由选择性子设置;

public class SessionAuth
{
    int authLevel;
    public int AuthLevel
    {
        get
            {return authLevel;}
        set
            {<<IF CALLER = SUB XYZ>> then authLevel=value;}
    }
  ...

这可能吗?

控制对类成员的访问

您可能可以通过诊断库(用于生成调用堆栈)来执行此操作,但您不希望这样做。

如果您需要限制对setter的访问,请将其标记为private,这样只有您的类才能修改它。如果您不能信任自己的类,则需要重新思考代码和设计。

public int MyProp { get; private set; }