gpt4 book ai didi

c# - 只读字段上的方法可以修改构造函数之外的方法吗?

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:29 25 4
gpt4 key购买 nike

我在 C# 项目中使用 Visual Studio 2012 Express。我似乎记得在以前版本的 visual studio 中情况并非如此,我想知道这是否是一个错误。

在下面的代码中,Empty 是一个静态只读字段,但可以在其构造函数外部使用 Empty.Clear() 进行修改

    public struct Box
{
public static readonly float D = float.MaxValue;
public static readonly Box Empty = new Box(new Vector3(D, D, D), new Vector3(-D, -D, -D));

public Vector3 Min;
public Vector3 Max;

public Box(Vector3 min, Vector3 max)
{
Min = min;
Max = max;
}

public void Clear()
{
Min = new Vector3(D, D, D);
Max = -Min;
Empty.Clear(); // I seem to remember this should not be allowed
}
}

最佳答案

您实际上并没有修改字段,而是在对象上调用方法。

修改它会是这样的

Empty = null;

关于c# - 只读字段上的方法可以修改构造函数之外的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16202614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com