事情是这样的,我需要用C#调用ATL写的COM组件,例如这个组件叫testLib,接口为a,a下面有属性b,c都是写读写属性,其类型为int吧.
一般来说,使用添加reference后,就可以这样调用:
testLib.a objA=new testLib.a();
objA.b=1;
objA.c=2;
int csB=a.b;但我想大概这样实现
objA.PutPropertyByName("b",1);//这个只是假想,我意思是说如何由字符串得到属性值和设置属性值.
方法复杂一些也没关系.
ATL里面的CComDispatchDriver(CComQIPtr的IDispatch特化的typedef)就有这样的函数GetProperty和PutPropertyByName,不知道C#里有没有类似的方法实现.