Tôi đang tham khảo thư viện COM trong Visual Studio, vì vậy nó đã tự động tạo ra lắp ráp Interop tương ứng đối với tôi. Tôi muốn thực hiện một số GetType()
trên các đối tượng com này, nhưng chúng luôn trả lại System.__ComObject
. Truy vấn họ cho một giao diện làm việc mặc dù:Làm thế nào để có được loại đối tượng COM
bool isOfType = someComeObject is ISomeComObject; //this works
Nhưng những gì tôi thực sự muốn là ước muốn được trở loại thực tế của đối tượng com:
Type type = someComeObject.GetType(); //returns System.__ComObject :-(
Có ai biết làm thế nào để làm những gì tôi muốn làm ?
Tôi vừa thử cái này và nó hoạt động! Nó không trả lại tên đầy đủ mặc dù, chỉ là tên lớp, nhưng đó là ok cho các mục đích của tôi. Tôi nhìn vào phương pháp này trong phản xạ mà nội bộ gọi là 'LegacyTypeNameOfCOMObject' nhưng tôi không thể tìm ra những gì nó thực sự làm. –
Tôi ước gì có cái gì đó có thể cho tôi tên đầy đủ của vật thể đó để tránh đụng độ. –
Cảm ơn. Bất kỳ ý tưởng nếu điều này là có thể trong C#? – rpattabi