文章目錄
- 0 多個.cs文件源碼
- 01 Hero.cs
- 02 ShowInfo.cs
- 03 Program.cs (相當于Main文件)
- 04 運行效果
- 1 生成dll庫
- 1.1 創建類庫
- 1.2 添加要生成 dll庫 的代碼文件
- 1.2.1 添加 Hero類
- 1.2.2 添加 ShowInfo類
- 1.3 生成dll庫 及 查看
- 3 添加自己生成的dll庫
- 4 調用運行
- 5 常見問題
- 5.1 類庫里里面的類不可訪問
- 5.2 ClassLibrary2 類庫下面用不到的可以刪掉
- 6 項目文件下載
0 多個.cs文件源碼是一個模擬 游戲英雄角色信息的 程序,
現在想將多個 .cs文件,生成類庫文件,然后在main文件中引用庫文件;
0 多個.cs文件源碼
01 Hero.cs
using System;namespace test1
{class Hero{//成員變量public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;}
}
02 ShowInfo.cs
using System;namespace test1
{class ShowInfo{//將Hero類,作為參數傳給 ShowInfo類的成員函數,以便于打印信息,public static void ShowHeroInfo(Hero hero){Console.WriteLine("性別: " + hero.xingbie);Console.WriteLine("年齡: " + hero.nianling);Console.WriteLine("基礎傷害: " + hero.shanghai);Console.WriteLine("基礎血量: " + hero.xueliang);Console.WriteLine("身高:" + hero.shengao);Console.WriteLine("技能1:" + hero.jineng1);Console.WriteLine("技能1傷害: " + hero.jineng1shanghai);Console.WriteLine("技能2:" + hero.jineng2);Console.WriteLine("技能2傷害: " + hero.jineng2shanghai);}}
}
03 Program.cs (相當于Main文件)
using System;
//using test1;
//類型
//關鍵字namespace test1
{class Program{static void Main(){Console.WriteLine("月黑風高殺人夜");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("微風吹動著路邊的小草");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();////----------英雄一---------------------/////Console.WriteLine("隱約在路的盡頭有一個人影");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("走近一看,這人叫");//實例化Hero hr1 = new Hero();hr1.name = Console.ReadLine();Console.WriteLine("原來你就是" + hr1.name);Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();hr1.xingbie = "男";hr1.nianling = 18;hr1.shanghai = 100;hr1.xueliang = 100;hr1.shengao = 175;hr1.jineng1 = "飛檐走壁";hr1.jineng1shanghai = 20;hr1.jineng2 = "飛沙走右";hr1.jineng2shanghai = 30;//打印英雄信息ShowInfo.ShowHeroInfo(hr1);Console.ReadKey();////----------英雄二---------------------/////Console.WriteLine("此時遠處傳來一個女人的聲音");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("走進一看原來是: ");Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();Console.WriteLine("請輸入女俠的名稱: ");//實例化Hero hr2 = new Hero();hr2.name = Console.ReadLine();Console.WriteLine("原來你就是" + hr2.name);Console.WriteLine("(請按任意鍵繼續。。。)");Console.ReadKey();hr2.xingbie = "女";hr2.nianling = 18;hr2.shanghai = 100;hr2.xueliang = 100;hr2.shengao = 165;hr2.jineng1 = "飛檐走壁2.0";hr2.jineng1shanghai = 40;hr2.jineng2 = "飛沙走右2.0";hr2.jineng2shanghai = 60;//打印英雄信息ShowInfo.ShowHeroInfo(hr2);Console.ReadKey();}}}
04 運行效果
1 生成dll庫
1.1 創建類庫
C#添加現有DLL(C#編寫的DLL)
在解決方案"test1",右鍵添加新項目->搜索 類庫,找到 類庫(.NET Frammework)->下一步,就可以創建類庫項目了
默認名 ClassLibrary2
創建好了如下
1.2 添加要生成 dll庫 的代碼文件
1.2.1 添加 Hero類
ClassLibrary2 右鍵->添加->類
①將Hero 的類文件代碼復制過來,放在 namespace ClassLibrary2命名空間內;
②class Hero 前面添加,公共訪問權限public
,否則無法調用
1.2.2 添加 ShowInfo類
同樣的方法添加 ShowInfo類
1.3 生成dll庫 及 查看
ClassLibrary2右鍵->生成,即可生成 DLL 庫
生成的 ClassLibrary2.dll
文件查看:
右鍵ClassLibrary2 ->在文件資源管理中打開文件夾->彈出項目路徑文件->打開子目錄\bin\Debug
,
就可以看到ClassLibrary2.dll
3 添加自己生成的dll庫
再要添加 dll庫 的項目下面找到 引用->添加引用(R)
方法一:
->在彈出的頁面->瀏覽
找到要添加的DLL庫文件
方法二:
->在彈出的頁面->項目 解決方案->
可以看到剛才 生成類庫的項目 勾選上即可
添加完成過后 ,可以在 test1的引用下面看到 ClassLibrary2文件
4 調用運行
此時,test1項目下面已經引用 Hero,Showinfo 類庫了,
那我么我們刪除,test1項目下面的 Hero,Showinfo源文件
刪除之后
在Program.cs文件,引用類庫文件 using ClassLibrary2;
,
注意引用類庫文件一定與 命名空間一致
運行測試
5 常見問題
5.1 類庫里里面的類不可訪問
Hero 和 ShowInfo 類 都不可訪問,
雖然 Hero 和 ShowInfo 的成員變量是 public 訪問權限,
但 Hero 和 ShowInfo 類沒有 明確給出訪問權限,那么默認 私有屬性;所以,生成的DLL庫,不可訪問;
class Hero
和 class ShowInfo
前面加上 public 權限,如下所示;就OK啦;
修改好之后,右鍵ClassLibrary2 ->重新生成
5.2 ClassLibrary2 類庫下面用不到的可以刪掉
在 ClassLibrary2 類庫下面添加項目時自動生成的 Class1.cs文件
,沒有使用,可以刪掉,不影響使用;
6 項目文件下載
test1項目文件下載