【发布时间】:2012-09-01 09:57:40
【问题描述】:
我希望将一些 VB6/COM+ 代码转换为 C#/COM+
但是我在 VB6 或 VB.NET 中的哪个位置:
Dim objAdmin
objAdmin = Server.CreateObject("AppAdmin.GUI")
objAdmin.ShowPortal()
在 C# 中,我似乎必须执行以下操作:
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# 不必使用 InvokeMember 函数而直接调用该函数?
【问题讨论】:
-
简短回答:因为 VB 从一开始就是为使用 COM 对象而设计的,而 C# 不是。