Попытка создать преобразователь для объекта Microsoft Office в POCO и обнаружила это
// 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()
здесь не работает?