Bas*_*mit 2 c# reflection covariance
我需要为一个字段分配一个数组.我不知道字段类型,但我确实有一个实例的引用和字段的名称.我可以假设数组可以转换为字段类型.可以这样做吗?
巴斯
编辑:
希望这段代码能够澄清我想要做的事情,这会导致在assign中出现异常:
class MyClass
{
static void Main()
{
MyClass t = new MyClass();
A a = new A();
C[] c = new C[] {new B()};
t.Assign(a, "field", c);
}
void Assign(object obj, string field, object[] value)
{
// crashes
obj.GetType().GetField(field).SetValue(obj, value);
}
}
class A
{
public B[] field;
}
class B : C { }
class C { }
Run Code Online (Sandbox Code Playgroud)
instance.GetType()
.GetField("fieldName", BindingFlags.Instance | BindingFlags.NonPublic)
.SetValue(instance, array);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |