提问人:sbi 提问时间:3/29/2011 最后编辑:Communitysbi 更新时间:3/29/2011 访问量:2306
我可以在对象中存储对变量的引用吗?[复制]
Can I store a reference to an variable in an object? [duplicate]
问:
可能的重复:
在 C# 中存储对对象的引用
有没有办法将引用存储在类对象中?像这样:
public class X
{
public X(ref int i)
{
_t = i;
}
public void f(int ii)
{
_i = ii;
}
private int ref _i;
}
// ...
int i = 0;
X x = new X(ref i);
x.f(42);
// i is now 42
在 C++ 中,我会使用指针或引用来执行此操作。
答:
3赞
Cade Roux
3/29/2011
#1
可以使用非托管代码执行此操作,但没有托管代码方法可以引用值类型。您必须手动将其装箱到某种对象容器中,并对其进行引用。
评论
0赞
Cade Roux
3/29/2011
@sbi - 这不就是C++的用途吗?;-)严肃地说,我认为在大多数设计中,即使你从单个属性开始,最好有一个漂亮的胖对象引用来摆弄 - 它允许你在使用 setter 属性或任何需要的时候进行切换,此外,你可以将引用类的接口扩展到多个属性,而无需添加额外的“按引用”值。
0赞
sbi
3/29/2011
我一定会在 C# 中执行此操作。我很想改用 C++,相信我。(看看我问的问题和我在个人资料中给出的答案......
0赞
Cade Roux
3/29/2011
@sbi - 我知道,我是在开玩笑 - 我能提供的最好的东西是看看你是否可以稍微扩展你的设计范围,看看这个值类型的对象容器是否可以做其他事情,并利用你必须引用一个完整的对象这一事实。变量必须位于某个位置 - 因此持有它的实例可以实现一个接口来更新该属性。
评论