实施“;将参数作为框“ref”;意思是
本文关键字:ref 意思是 参数 实施 | 更新日期: 2023-09-27 18:27:40
我最近读到一个关于CS1628的答案,"不能在匿名方法、lambda表达式或查询表达式中使用ref或out参数'parameter'"。
答案表明,解决这一问题的方法是在CLR中实现"将参数作为框引用"。
带有VS2010/C#4 的C#编译器错误CS1628
我不确定这意味着什么,似乎在谷歌上找不到任何参考资料。
有人能向我解释一下这件事吗?
您可以声明一个"box"类:
class Box<T> { public T Value; }
将该类的实例传递给不能与ref
一起使用的方法。该方法可以深入到对象中,对Value
进行变异。呼叫者稍后可以提取CCD_ 3。
这是有效的(与ref相比),因为Box
是在堆上分配的,并且具有"无限"的生存期。ref
只能指使用寿命更受限制的位置。