我在vbs中有一个对象:
Msgbox myobject.parametro("parm")
我可以用这种方式在C#中使用它:
Object test = myobject.GetType().InvokeMember("parametro",
BindingFlags.GetProperty,
null,
myobject,
new object[] { "parm" });
Messagebox.show(test.toString());
我如何在C#中为属性赋值?
例如:
myobject.parametro("parm")=725
答案 0 :(得分:1)
我想你的意思是:
myObject.parametro["parm"] = 627; // set
var test = myObject.parametro["parm"]; // get
答案 1 :(得分:0)
将BindingFlags更改为SetProperty
SomeClass c = new SomeClass();
c.GetType().InvokeMember("Prop", BindingFlags.SetProperty, null, c, new object[]{ 1 });