我试图在C#中使用JScript.NET中的新ActiveXObject()功能.我怎样才能做到这一点?
并且不要说用COM对象可以做的任何事情都可以在C#中完成.如果我想这样做,我已经有了.
解决方法
您可以使用创建COM对象的实例
Activator.CreateInstance(Type.GetTypeFromProgID(ProgID))
然后使用后期绑定与他们合作.例如:
using System.Reflection; ... Type wshType = Type.GetTypeFromProgID("WScript.Shell"); object wshShell = Activator.CreateInstance(wshType); wshType.InvokeMember("Popup",BindingFlags.InvokeMethod,null,wshShell,new object[] {"Hello,world!"});
或者,使用C#4的动态关键字:
// NB: Add reference to Microsoft.CSharp.dll dynamic wshShell = Activator.CreateInstance(Type.GetTypeFromProgID("WScript.Shell")); wshShell.Popup("Hello,world!");