我一直在試圖弄清楚如何將我的 c# dll 與 c# windows forms 應用程式一起使用,我想要實作的是在我的 dll 中我將創建一個 if() 條件,然后在 winforms 中使用它。
基本上我想在 dll 中創建一個函式來檢查檔案是否存在,然后在 winforms 中將其用作按鈕單擊示例中的條件:
如果(mydll.Classname.Function == true)
我的dll代碼
public class Classname
{
static void Function()
{
if (File.Exists("\\blabla\\something\\app.exe"))
{
}
}
}
然后我將dll鏈接到win表單并在win表單中我嘗試了這個
private void Launch_Click(object sender, EventArgs e)
{
if (mydll.Classname.Function == true)
{
}
}
當我嘗試這個時,它會強調它并且我無法構建它。
有任何想法嗎?謝謝
uj5u.com熱心網友回復:
在 .NET 中,您通過創建類別庫專案來創建 DLL。然后,您可以在您的應用程式中參考此專案。如果此類別庫專案在同一個解決方案中,您可以將專案參考添加到指向此庫的應用程式 (WinForms)。如果它在另一個解決方案中,請添加對 DLL 的程式集參考(通常是位于 bin/Release 檔案夾中的那個)。
另請參閱:如何添加對 Visual Studio 專案的參考。
現在,來設計你的庫函式。此函式必須回傳一個布林值,回傳檔案測驗的結果,可以在應用程式的 if 陳述句中使用。此外,它必須是公開的。
public static class FileFunctions
{
public static bool AppExists()
{
return File.Exists(@"\blabla\something\app.exe");
}
}
請注意,我也將類設為靜態,因此無法創建此類的物件,因為這里沒有意義 ( var ff = new FileFunctions();)。
現在,在您的應用程式中,您可以使用此功能:
private void Launch_Click(object sender, EventArgs e)
{
if (FileFunctions.AppExists())
{
}
}
不能在代碼中直接參考 DLL;但是,如果該類在另一個命名空間中,則必須參考該命名空間。直接在呼叫站點:
if (ClassLibraryNamespace.FileFunctions.AppExists())
...或者通過using在代碼檔案的頂部添加 a ,其中可能已經有 a using System;:
using ClassLibraryNamespace;
注意我沒有寫if (FileFunctions.AppExeExists() == true)。if 陳述句需要一個產生布林值的運算式,即要么true要么false。這就是函式回傳的內容。它不需要比較。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/411193.html
標籤:
