【发布时间】:2011-12-23 16:07:08
【问题描述】:
首先:我是 COM 的初学者。
我正在团队中开展大型项目。服务器部分是用 C++ 编写的。客户端是用 C# 编写的。它们通过 COM 进行通信。
现在 - 我在 C# 中有界面 IA。我有对象 o,其类型是类 A(在 C++ 中实现 IA - 它以某种方式通过 COM 传输)。我想使用反射来获取该类型的所有属性,但它无法正常工作。它只返回我在代码中使用的那些属性。
这是检索属性的反射代码:
Type[] ifaces = typeof(A).GetIterfaces();
foreach (Type iface in ifaces)
{
foreach (PropertyInfo info in iface.GetProperties())
{
// it takes only those properties, I have used in C# code
}
}
首先我认为它因为 COM 而无法正常工作。但奇怪的是,它为我提供了我在代码中提到的所有属性。并且所有关于 COM 的东西都应该正确编写,因为它已经工作了很长时间(在我开始这个项目之前)。
【问题讨论】:
标签: c# c++ .net reflection properties