我正在尝试使用在 C# 中的 JScript.NET 中发现的新 ActiveXObject()
的功能。我该怎么做?
并且不要说您可以用 COM 对象做的任何事情都可以在 C# 中完成。如果我想那样做,我早就这么做了。
最佳答案
您可以使用以下方法创建 COM 对象的实例
Activator.CreateInstance(Type.GetTypeFromProgID(ProgID))
然后使用后期绑定(bind)与他们合作。例如:
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 的 dynamic
关键字:
// NB: Add reference to Microsoft.CSharp.dll
dynamic wshShell = Activator.CreateInstance(Type.GetTypeFromProgID("WScript.Shell"));
wshShell.Popup("Hello, world!");
关于C# 等效于 JScript 的新 ActiveXObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15929231/