C# присваивает значение свойству объекта с параметрами

У меня есть объект в 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

2 ответа

Я думаю, что вы имеете в виду:

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

Измените BindingFlags на SetProperty

SomeClass c = new SomeClass();
c.GetType().InvokeMember("Prop", BindingFlags.SetProperty, null, c, new object[]{ 1 });
Другие вопросы по тегам