Dea*_*ane 12 .net c# reflection
我正在使用反射在对象上调用静态方法:
MyType.GetMethod("MyMethod", BindingFlags.Static).Invoke(null, new object[] { Parameter1, Parameter2 });
Run Code Online (Sandbox Code Playgroud)
你如何通过ref传递参数,而不是按值传递?我假设它们默认是按值计算的.第一个参数(数组中的"Parameter1")应该是ref,但我无法弄清楚如何以这种方式传递它.
Jar*_*Par 16
对于参考参数(或在C#中输出),反射会将新值复制到与原始参数相同位置的对象数组中.您可以访问该值以查看更改的引用.
public class Example {
public static void Foo(ref string name) {
name = "foo";
}
public static void Test() {
var p = new object[1];
var info = typeof(Example).GetMethod("Foo");
info.Invoke(null, p);
var returned = (string)(p[0]); // will be "foo"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6197 次 |
| 最近记录: |