日期:2014-05-17  浏览次数:20734 次

C# 按引用传递值类型
 现在要提供一些接口,

   Uint16 t = 0;
   Out(t);

我想将基本类型,如 bool , char, byte, sbyte, int16, 32,64..等基本的值类型全都都要按照引用传递,就像C++中函数
声明

void Out(int16 &p); 调用的时候用  Out(t)就ok了。。

C#里面我知道可以用ref关键字,声明的时候加上 ref 如 
  void Out( ref int t);
  但是他有个缺陷,就是在调用的是时候也要显示的加上ref关键字, 这点很不好,我给别人提供接口,别人用起来很不方法,还是随时判断类型加上ref关键字,有没有更好的办法?谢谢!

------解决方案--------------------
没,你用vb.net可以吧ref省略了。
c#必须写ref

顶多可以省略初始化

void Out(out UInt16 u16)
{
    u16 = 5;
}

UInt16 uu;
Out(out uu);
uu就是5了。