今天在给人讲C#程序集概念的时候突然被问住了,囧啊。所以又认真地看了下C#程序集的功能,本文就是关于C#跨程序集调用其他程序集的常量、变量和函数。
步骤1:建立两个程序集,分别是C#下的“Windows窗体应用程序”和“类库”,分别取名为“AAAAA”和“BBBBB”。程序集“BBBBB”中的类被更名为MyClass
步骤2:修改程序集“BBBBB”,文件MyClass.cs中的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BBBBB
{
public class MyClass
{
/// <summary>
/// 常量
/// </summary>
public const string DateInfo1 = "2015/1/5";
/// <summary>
/// 静态变量
/// </summary>
public static string DateInfo2 = "2015/1/5";
/// <summary>
/// 方法("打印Hello World!")
/// </summary>
public static void SayHi()
{
Console.WriteLine("Hello World!");
}
}
}
里面有一个常量DateInfo1、一个静态变量DateInfo2、一个向控制台打印字符串“Hello World!”的方法
步骤3:在程序集“AAAAA”的引用管理器中添加对程序集“BBBBB”的引用。程序集“AAAAA”的引用管理器可以在解决方案资源管理器中右键单击程序集“AAAAA”下面的“引用”,单击“添加引用”按钮进入。进入程序集“AAAAA”的引用管理器后,在左侧的树形菜单中,找到“解决方案”→“项目”,勾选里面的“BBBBB”,并按下面的“确定”按钮保存设置。
步骤4:这下载程序集“AAAAA”下面的代码中就可以using到程序集“BBBBB”的命名空间了
文件Program.cs中的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BBBBB;
namespace AAAAA
{
class Program
{
static void Main(string[] args)
{
//打印常量
Console.WriteLine(BBBBB.MyClass.DateInfo1);
//打印静态变量
Console.WriteLine(BBBBB.MyClass.DateInfo2);
//调用方法
BBBBB.MyClass.SayHi();
Console.ReadLine();
}
}
}
步骤5:生成解决方案,运行程序,运行结果如下:
其他:两个Debug目录下的文件构成
1)程序集“AAAAA”的Debug目录:(包括程序集“BBBBB”编译出来的全部信息)
2)程序集“BBBBB”下的Debug目录: