Tratando de crear un asignador para un objeto de Microsoft Office en Poco de y encontramos estaReflexión sobre la interoperabilidad COM objetos
// 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));
por lo que tienen que recurrir a este
foreach(var field in tgt.GetFields()){
var pv = o.InvokeMember(field.Name, System.Reflection.BindingFlags.GetProperty, null, o, null);
i.SetValue(rc, pv);
}
que funciona por ahora, pero se preguntaba por qué el RCW.GetProperties()
no funciona aquí?