ref对象参数的方法

Luc*_*oli 4 c# asp.net

嗨,我必须调用具有此签名的方法:

int MethodName(ref object vIndexKey)
Run Code Online (Sandbox Code Playgroud)

如果我试着用它来打电话

String c = "690";

MethodName(ref (object) c);
Run Code Online (Sandbox Code Playgroud)

它不起作用.

我能怎么做?

谢谢

Kla*_*sen 10

你需要这样做:

String c = "690"; 
object o = (object) c;
MethodName(ref o);
Run Code Online (Sandbox Code Playgroud)

原因是该参数必须由函数分配.该函数可以执行以下操作:

o = new List<int>();
Run Code Online (Sandbox Code Playgroud)

如果底层类型是在方法调用期间已转换为对象的字符串,则这是不可能的,因为赋值的目标仍然是字符串而不是对象.