假设我在一个类中有一个属性:
Vector3 position{get; set;}
所以我在某个地方创建了那个类的一个实例,现在我想更改 position.x,现在这是不可能的,因为 getter 和 setter 设置并获取了整个对象。所以我必须让一个临时的 Vector3 改变它的值然后分配它。
通常我会将位置设置为公共(public)字段,以便解决问题。但在这种情况下我不能这样做,因为位置是接口(interface)的实现,而接口(interface)不能有字段。
那么我怎样才能最好地解决这个问题。
编辑:Vector3 是一个结构体,所以它是一个值类型
最佳答案
直截了当的解决方案在某种程度上是 Not Acceptable 吗?
foo.position = new Vector(newX, foo.position.Y, foo.position.Z);
这有什么问题?这看起来非常简单。
关于C# Getter/Setter问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2082900/