Прежде всего: я абсолютный новичок в COM.
Я работаю в команде над большим проектом.Серверная часть написана на C ++.Клиентская сторона написана на C #.Они общаются через COM.
Теперь - у меня есть интерфейс IA в C #.И у меня есть объект o , тип которого является классом A (реализует IA в C ++ - он каким-то образом передается через COM).Я хочу использовать отражение, чтобы получить все свойства этого типа, но он не работает должным образом.Он возвращает только те свойства, которые я использовал в своем коде.
Вот код Reflection, который возвращает свойства:
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, должно быть написано правильно, потому что оно работает долго (до того, как я попал в этот проект).