Odwołuję się do biblioteki COM w Visual Studio, więc automatycznie utworzył dla mnie odpowiedni zespół Interop. Chciałbym zrobić GetType()
na tych obiektach com, ale zawsze zwracają System.__ComObject
. Odpytywanie ich interfejs działa jednak:Jak uzyskać typ obiektu COM
bool isOfType = someComeObject is ISomeComObject; //this works
Ale to, co naprawdę chcesz jest to, aby powrócić do rzeczywistego typu obiektu COM:
Type type = someComeObject.GetType(); //returns System.__ComObject :-(
czy ktoś wie jak to zrobić, co chcę zrobić ?
Po prostu próbowałem tego i działa! Nie zwraca jednak pełnej nazwy, tylko nazwa klasy, ale jest to w porządku dla moich celów. Spojrzałem na tę metodę w odbłyśniku, który wewnętrznie nazywa "LegacyTypeNameOfCOMObject", ale nie wiem, co on właściwie robi. –
Żałuję, że nie było czegoś, co mogłoby dać mi pełną nazwę tego obiektu com, aby uniknąć konfliktów. –
Dzięki. Każdy pomysł, jeśli jest to możliwe w C#? – rpattabi