2014-10-07 104 views
2

我在VBS对象:C#中的值赋给具有参数的对象属性

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

是什么'parametro',以及如何申报?如果你向我们展示*那是什么*,我们可以指示如何正确调用它 – 2014-10-07 11:12:37

回答

1

认为你的意思是:

myObject.parametro["parm"] = 627; // set 
var test = myObject.parametro["parm"]; // get 
0

变化的BindingFlags到的SetProperty

SomeClass c = new SomeClass(); 
c.GetType().InvokeMember("Prop", BindingFlags.SetProperty, null, c, new object[]{ 1 }); 
+0

以这种方式,我将值1赋给“c.Prop = 1”,但我需要编写c.Prop(“parm”) = 1 – 2014-11-05 15:45:26