2015.5.9 C#編寫DLL及C#調用C#DLL

來源:互聯網
上載者:User

標籤:

過程比C#調用VC++dll簡單。

一、建立DLL

建立工程,類型選擇類庫,產生的結果就是dll

注意:在項目屬性-應用程式中,注意三個地方,程式集名稱和預設命名空間可以調整,但要一致,別的程式調用此DLL時,可通過using命名空間,而後類名+函數名調用。輸出類型保持預設的“類庫”不變。

此DLL中可以應用VC建立的DLL,但此時本DLL屬性只能是X86.調用vc++dll方法還是用

[DllImport("space.dll")]

public static extern void CalcCording(double jin, double wei, double ang, double r, out double ojin, out double owei);

dll中可以進行執行、刪除檔案等操作。

此外dll中要獲得本dll本地路徑就不能用Application.ExecutablePath()函數了額,而要用自訂的

private static string GetAssemblyPath()

{

string _CodeBase = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;

_CodeBase = _CodeBase.Substring(8, _CodeBase.Length - 8);    // 8是 file:// 的長度

string[] arrSection = _CodeBase.Split(new char[] { ‘/‘ });

string _FolderPath = "";

for (int i = 0; i < arrSection.Length - 1; i++)

_FolderPath += arrSection[i] + "/";

_FolderPath = _FolderPath.Replace("/", "\\");

return _FolderPath;

}

二、C#調用C#dll

1、可在dll項目同一解決方案下添加WindowsForm項目,並設為啟動項目

2、以添加引用的方式將上面建立的dll引入本項目

3、直接用dll的類名+函數名的方法調用dll中的函數(需要using命名空間),不用[DllImport("...")]的方法引用了。

4、參數傳遞更加自由,可用數組或List<>類型傳遞參數。

2015.5.9 C#編寫DLL及C#調用C#DLL

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.