Type matlabAppType = System.Type.GetTypeFromProgID("Matlab.Application"); //加载MATLAB matlab = System.Activator.CreateInstance(matlabAppType) as MLApp.DIMLApp; matlab.Visible = 0;
时间: 2024-04-02 18:34:17 浏览: 20
这段代码的作用是通过COM组件方式加载MATLAB,并创建一个实例对象。具体地说,这段代码使用了System.Type.GetTypeFromProgID方法获取了一个名为"Matlab.Application"的COM组件的类型,然后使用System.Activator.CreateInstance方法创建了该类型的实例对象,并将其转换为MLApp.DIMLApp类型的对象。最后,将该对象的Visible属性设置为0,即不显示MATLAB界面。这样就可以在C#程序中调用MATLAB的功能,实现C#和MATLAB的交互。
相关问题
System.Activator.CreateInstance 是什么东西
System.Activator.CreateInstance 是一个 C# 中的方法,用于在运行时创建一个对象的实例。它接受一个类型参数,并返回该类型的新实例。可以使用 Activator.CreateInstance 来实例化对象,而无需在代码中显式地指定它们的类型或名称。此方法适用于需要在运行时动态创建对象的情况,例如在插件系统、反射、基于配置的应用程序中。需要注意的是,使用 Activator.CreateInstance 创建实例需要有足够的权限,否则会抛出 SecurityException 异常。
Type myClassType = Type.GetType("MyClass") 如何将myclassType从变量转为类型
可以使用强制类型转换将myClassType从变量转换为类型。示例代码如下:
```csharp
Type myClassType = Type.GetType("MyClass");
MyClass myClassInstance = Activator.CreateInstance(myClassType) as MyClass; // 使用Activator创建myClassType的实例,并将其强制转换为MyClass类型
```
在上面的示例代码中,我们使用Activator.CreateInstance方法创建了myClassType的实例,并将其强制转换为MyClass类型的变量myClassInstance。这样就将myClassType从变量转换为了类型。