試圖創建一個微軟Office對象到POCO的一個映射,發現這個反思COM互操作對象
// doesn't work
// returns an empty array where o is a RCW on an office object
foreach(var pi in o.GetType().GetProperties())
tgt.SetValue(rc, pi.GetValue(o, null));
因此不得不求助於此
foreach(var field in tgt.GetFields()){
var pv = o.InvokeMember(field.Name, System.Reflection.BindingFlags.GetProperty, null, o, null);
i.SetValue(rc, pv);
}
該工程,但現在不知道爲什麼RCW.GetProperties()
在這裏不起作用?