Sto cercando di convertire alcune VB6/COM + il codice per C#/COM +Perché C# CreateObject è molto più dettagliato di VB.NET?
Tuttavia, se in VB6 o VB.NET ho:
Dim objAdmin
objAdmin = Server.CreateObject("AppAdmin.GUI")
objAdmin.ShowPortal()
In C# sembra come devo fare quanto segue:
object objAdmin = null;
System.Type objAdminType = System.Type.GetTypeFromProgID("AppAdmin.GUI");
m_objAdmin = System.Activator.CreateInstance(objAdminType);
objAdminType.InvokeMember("ShowPortal", System.Reflection.BindingFlags.InvokeMethod, null, objAdmin, null);
C'è un modo per ottenere C# per non dover utilizzare la funzione InvokeMember e chiamare semplicemente la funzione direttamente?
Risposta breve: Perché VB è stato progettato fin dall'inizio per il consumo di oggetti COM, mentre C# non lo era. – phoog