在 public 实例上使用 getter 和 setter 来设置 class 的私有实例时,设置了哪个 class 实例的属性?
Which class instance's properties are set when using a getter and setter on a public instance to set a private instance of that class?
我正在用 C# 构建 WPF 应用程序,我对 class 实例的 getter 和 setter 及其属性的工作方式有疑问;给定以下代码:
public class SomeClass
{
public int SomeProperty;
}
private SomeClass _anInstance;
public SomeClass anInstance
{
get{ return _anInstance; }
set
{
_anInstance = value;
}
}
anInstance = new SomeClass();
anInstance.SomeProperty = 5;
int anInt = anInstance.SomeProperty;
我希望此代码至少创建一个 SomeClass 实例,然后将 5 分配给 _anInstance.SomeProperty,然后将 anInt 设置为 _anInstance.SomeProperty 的值,但我没有确定它是使用 anInstance.SomeProperty 还是 _anInstance.SomeProperty.
哪个被分配给 5/用于设置 anInt,为了将来参考,我如何才能找到 out/know?
how would i be able to find out/know?
设置断点并进入您的代码。调试器会告诉你当前执行的位置。
您的 public 属性 anInstance
的 getter 和 setter 只是指向私有 _anInstance
字段,"redirect" 读取和写入该字段。
由于 SomeClass 是引用类型,anInstance 只是对 _anInstance 引用的同一对象的 public 引用。 SomeClass 只有一个实例。
我正在用 C# 构建 WPF 应用程序,我对 class 实例的 getter 和 setter 及其属性的工作方式有疑问;给定以下代码:
public class SomeClass
{
public int SomeProperty;
}
private SomeClass _anInstance;
public SomeClass anInstance
{
get{ return _anInstance; }
set
{
_anInstance = value;
}
}
anInstance = new SomeClass();
anInstance.SomeProperty = 5;
int anInt = anInstance.SomeProperty;
我希望此代码至少创建一个 SomeClass 实例,然后将 5 分配给 _anInstance.SomeProperty,然后将 anInt 设置为 _anInstance.SomeProperty 的值,但我没有确定它是使用 anInstance.SomeProperty 还是 _anInstance.SomeProperty.
哪个被分配给 5/用于设置 anInt,为了将来参考,我如何才能找到 out/know?
how would i be able to find out/know?
设置断点并进入您的代码。调试器会告诉你当前执行的位置。
您的 public 属性 anInstance
的 getter 和 setter 只是指向私有 _anInstance
字段,"redirect" 读取和写入该字段。
由于 SomeClass 是引用类型,anInstance 只是对 _anInstance 引用的同一对象的 public 引用。 SomeClass 只有一个实例。