如何从dll导入类?
MYDLL.DLL如何从dll导入类?
namespace mydll
{
public class MyClass {
public static int Add(int x, int y)
{
return x +y;
}
}
}
在另一个项目中如何导入MyClass的,或只是附加功能?
我想与的DllImport增加,
函数[DllImport( “MYDLL.DLL”,字符集= CharSet.Auto)]公共静态外部 .......
我该怎么做?
DllImport
用于调用非托管代码。您显示的MyClass
类是托管代码,为了在另一个程序集中调用它,只需包含它并调用方法add reference to the assembly。例如:
using System;
using mydll;
class Program
{
static void Main()
{
int result = MyClass.Add(1, 3);
Console.WriteLine(result);
}
}
不,我想在程序运行时添加dll ,而不是添加引用选项,所以我如何创建一个非托管的DLL? – ocanal 2011-04-19 08:35:12
@ocanal,可以在运行时使用Reflection和[Assembly.LoadFrom](http://msdn.microsoft.com/zh-cn/library/1009fa28.aspx)方法加载程序集。一旦程序集被加载,你可以列出里面的所有类型并调用它们的方法。 – 2011-04-19 09:05:50
如果双方都是.NET,您仍然需要一些通用接口(或使用动态)。如果你有这个地方,你可以使用Reflection或ComponentModel。
您是否在应用程序的两端(类定义和类使用者)上使用C#?如果你是,可能有[更好的方法](http://msdn.microsoft.com/en-us/library/7314433t(v = VS.90).aspx) – SWeko 2011-04-19 08:30:01