C#传递Single作为参考

0 c# pass-by-reference

我想有一个参数可以是Int32或的方法Single:

void myMethod( ref object x )
{
     //...CodeHere
}
Run Code Online (Sandbox Code Playgroud)

由于C#不允许我在使用时传递对象的特化,out或者ref我发现的解决方案声称将变量赋值给类型的变量object就足够了:

Single s = 1.0F;
object o = s;
myMethod( ref o );
Run Code Online (Sandbox Code Playgroud)

那没用.根据我查看的Microsoft文档,o应该是指针s.我看到的来源表明,分配非基本类型会生成引用而不是new实例.

是否有可能有一种方法,我可以通过SingleInt32或任何其他类型,它是一个专业化object

Joe*_*orn 9

重载方法:

void myMethod( ref int x )
{
    //...
}

void myMethod(ref single x)
{
    //...
}
Run Code Online (Sandbox Code Playgroud)