再讲一下如何引用dll动态链接库:
右键项目----添加 --项目引用----选择你要添加的dll即可。
在依赖项这里就可以看到。
再在要用的项目那里using一下这个dll的命名空间:using 生成dll;
然后就可以使用以下所说的两种方法去调用dll里的函数了。
切记,若是被引用的dll的项目改动,要右键被引用项目,重新生成dll (更新一下)才行,不然会一直保持原版内容。
还有新建另一个项目的时候,想启动哪个,就要右键新的项目,更换新的启动项目。
静态字段:
在被调用的非静态函数或变量前加 static 关键字,将其变成静态方法或变量。以被静态函数static调用。
即静态方法static只能被静态方法static所调用。
非静态字段:
将被调用的函数封装在另一个类中,然后在主调函数中对被调函数所在的类进行实例化,通过该实例化的对象来对该方法进行调用。此时被调函数前就不需要再加 static 关键字。
而非静态方法,只能用实例化(new一个对象)的方法调用其他方法。
简单例子:
静态字段:(直接调用:static调用static,被调用的方法要加static关键字)
被引用的项目
namespace 生成dll
{
public class Program //必须是一个公有类
{
static void Main(string[] args)
{
Console.WriteLine("Hello World! ----testing for 生成input dll");
}
static public void Input() //要加static
{
Console.WriteLine("input dll----------");
}
}
}
引用的项目:
using System;
using 生成dll;
namespace 引用dll
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("引用Dll 看一下");
生成dll.Program.Input();
}
}
}
非静态字段 (new对象,被调用的方法不用加static关键字)
被引用的项目
namespace 生成dll
{
public class Program //必须是一个公有类
{
static void Main(string[] args)
{
Console.WriteLine("Hello World! ----testing for 生成input dll");
}
public void Input()
{
Console.WriteLine("input dll----------");
}
}
}
引用的项目:
using System;
using 生成dll;
namespace 引用dll
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("引用Dll 看一下");
生成dll.Program c = new 生成dll.Program(); //非静态字段 要先new一个对象去引用
c.Input();
}
}
}
两者的运行结果都一样: