验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

怎么修改Field修饰符

阅读:987 来源:乙速云 作者:代码code

怎么修改Field修饰符

在 C# 里,**Field(字段)的“修饰符”**通常指 访问修饰符其他修饰符。下面按常见场景给你说明。


一、字段常见修饰符

1️⃣ 访问修饰符(最常用)

public class Demo
{
    public int A;        // 任何地方可访问
    private int B;       // 仅当前类可访问
    protected int C;     // 当前类 + 派生类
    internal int D;      // 同一个程序集
    protected internal int E; // 同一程序集 或 派生类
    private protected int F;  // C# 7.2+ 同一程序集 + 派生类
}

修改方式:直接改 private / public / protected 等即可。


2️⃣ static(静态字段)

public class Demo
{
    public static int Count;
}
  • 属于 类本身
  • 不依赖实例

✅ 修改:加 / 去掉 static


3️⃣ readonly(只读字段)

public class Demo
{
    public readonly int Id;

    public Demo(int id)
    {
        Id = id; // 只能在构造函数中赋值
    }
}
  • 只能 声明时或构造函数中赋值
  • 不能在其他地方修改

✅ 修改:加 / 去掉 readonly


4️⃣ const(常量字段)

public class Demo
{
    public const int Max = 100;
}
  • 隐式 static
  • 编译期常量
  • 必须初始化

✅ 修改:改为 const 或去掉


5️⃣ volatile(多线程)

private volatile bool _flag;
  • 用于多线程
  • 防止指令重排

✅ 修改:加 / 去掉 volatile


二、修改字段修饰符示例

原代码

class User
{
    int age;
}

改成 public

class User
{
    public int age;
}

改成 private + readonly

class User
{
    private readonly int age;

    public User(int age)
    {
        this.age = age;
    }
}

三、属性 vs 字段(重要)

推荐做法

public int Age { get; private set; }

❌ 不推荐直接暴露字段

public int Age;

如果你是想 把字段改成属性,我可以帮你直接重构。


四、如果你用的是 Unity / Java / Kotlin

场景 说明
Unity C# 同上
Java 字段用 private,通过 getter/setter
Kotlin val / var

五、你可以直接告诉我

  • 用的是 C# / Java / Unity / 其他?
  • 改成什么修饰符?
  • 或是 报错信息

我可以直接帮你改代码 ✅

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>