将对对象属性的引用存储在变量中

麦克拉森

在C#中,可以通过任何方式完成以下操作:

class A
{
    public int X { get; set; }
}

class B
{
    public /* ? */ OtherX;
}

var a = new A();
var b = new B();
b.OtherX = //?a.X?;
b.OtherX = 1; //sets a.X to 1
int otherX = b.OtherX //gets value of a.X

无需采取此操作:

class B
{
    public Func<int> GetOtherX;
    public Action<int> SetOtherX;
}

var a = new A();
var b = new B();
b.GetOtherX = () => a.X;
b.SetOtherX = (x) => a.X = x;

布拉德利网

不,您不能完全按照您描述的方式执行此操作,因为没有ref int类型,但是可以在其周围放置包装器,这样就可以使两个变量都指向保存您的值的同一对象。

public class Wrapper<T>
{
   public T Value {get; set;}
}

public class A
{
   public Wrapper<int> X {get; set;}

   public A()
   {
       X = new Wrapper<int>();
   }
}

public class B
{
   public Wrapper<int> OtherX {get; set;}
}

var a = new A();
var b = new B();
b.OtherX = a.X;
b.OtherX.Value = 1; //sets a.X to 1
int otherX = b.OtherX.Value //gets value of a.X

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将对对象属性的引用存储在变量中

来自分类Dev

将对对象的引用存储在ArrayList中

来自分类Dev

在类中存储对对象的const引用

来自分类Dev

在TeeChart中存储对对象的引用

来自分类Dev

在字典中存储对对象的引用

来自分类Dev

将对象存储在会话变量中

来自分类Dev

D-将对子数组的引用存储在变量中

来自分类Dev

绘制python对象属性并将对象存储在列表中

来自分类Dev

PHP将对象引用存储在数组中

来自分类Dev

将对象引用存储到易失性字段中

来自分类Dev

Firemonkey TTreeView-将对象引用存储在TTreeViewItems,TValue中

来自分类Dev

C ++将对象的引用保存在变量中

来自分类Dev

JavaScript创建对对象属性的引用?

来自分类Dev

我们如何在指针中存储对对象的引用?

来自分类Dev

存储对象的值,而不是对对象本身的引用

来自分类Dev

在没有反射的情况下将对对象字段的引用传递并存储到另一个对象

来自分类Dev

在Java中对对象的双重引用

来自分类Dev

在Java中对对象的双重引用

来自分类Dev

C#中的对象实例化之间的区别:将对象存储在引用中与直接调用方法

来自分类Dev

将对象存储在localStorage中

来自分类Dev

将对象属性的引用传递给方法

来自分类Dev

在不丢失对对象的引用的情况下将对象转换为子类对象

来自分类Dev

在列表中通知对对象属性的更改

来自分类Dev

对对象中的多个属性进行排序

来自分类Dev

在列表中通知对对象属性的更改

来自分类Dev

对对象数组 Angular 中的属性求和

来自分类Dev

对对象的“可写”引用

来自分类Dev

创建对对象的引用

来自分类Dev

如何将对象的引用存储在另一个类 C++ 中?

Related 相关文章

热门标签

归档