2

我在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
4

2 回答 2

1

你的意思是:

myObject.parametro["parm"] = 627; // set
var test = myObject.parametro["parm"]; // get
于 2014-10-07T11:13:28.497 回答
0

将 BindingFlags 更改为 SetProperty

SomeClass c = new SomeClass();
c.GetType().InvokeMember("Prop", BindingFlags.SetProperty, null, c, new object[]{ 1 });
于 2014-10-07T11:18:35.157 回答