使用来自 c# .dll 的 if() 作为 Winforms 中的 if()
Use if() from c# .dll as if() in Winforms
我一直在尝试弄清楚如何将我的 c# dll 与 c# windows forms app 一起使用,我想要实现的是在我的 dll 中创建一个 if() 条件,然后使用它在 winforms 中。
基本上我想在 dll 中创建一个函数来检查文件是否存在,然后在 winforms 中将其用作按钮单击示例中的条件:
if(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)
{
}
}
当我尝试这个时,它有下划线,我无法构建它。
有什么想法吗?
谢谢
在 .NET 中,您可以通过创建 Class 库项目来创建 DLL。然后您可以在您的应用程序中引用该项目。如果此 Class 库项目在同一个解决方案中,您可以向指向此库的应用程序 (WinForms) 添加项目引用。如果它在另一个解决方案中,请添加对 DLL 的程序集引用(通常位于 bin/Release 文件夹中)。
另请参阅:How to Add References to Your Visual Studio Project。
现在,开始设计你的库函数。此函数必须 return 一个表示文件测试结果的布尔值,可以在应用程序的 if 语句中使用。另外,它必须是 public.
public static class FileFunctions
{
public static bool AppExists()
{
return File.Exists(@"\blabla\something\app.exe");
}
}
请注意,我还使 class 静态,因此无法创建此 class 的对象,因为它在这里没有意义 (var makesNoSense = new FileFunctions();
) .
现在,在您的应用程序中,您可以使用此功能:
private void Launch_Click(object sender, EventArgs e)
{
if (FileFunctions.AppExists())
{
}
}
不能在代码中直接引用DLL;但是,如果 class 在另一个命名空间中,则必须引用此命名空间。或者直接在调用站点:
if (ClassLibraryNamespace.FileFunctions.AppExists())
... 或者在代码文件的顶部添加一个 using
,其中可能已经有一个 using System;
:
using ClassLibraryNamespace;
注意我没有写if (FileFunctions.AppExeExists() == true)
。 if 语句需要一个产生布尔值的表达式,即 true
或 false
。这就是returns的功能。它可以是一个比较,但这不是必需的。
我一直在尝试弄清楚如何将我的 c# dll 与 c# windows forms app 一起使用,我想要实现的是在我的 dll 中创建一个 if() 条件,然后使用它在 winforms 中。
基本上我想在 dll 中创建一个函数来检查文件是否存在,然后在 winforms 中将其用作按钮单击示例中的条件:
if(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)
{
}
}
当我尝试这个时,它有下划线,我无法构建它。
有什么想法吗? 谢谢
在 .NET 中,您可以通过创建 Class 库项目来创建 DLL。然后您可以在您的应用程序中引用该项目。如果此 Class 库项目在同一个解决方案中,您可以向指向此库的应用程序 (WinForms) 添加项目引用。如果它在另一个解决方案中,请添加对 DLL 的程序集引用(通常位于 bin/Release 文件夹中)。
另请参阅:How to Add References to Your Visual Studio Project。
现在,开始设计你的库函数。此函数必须 return 一个表示文件测试结果的布尔值,可以在应用程序的 if 语句中使用。另外,它必须是 public.
public static class FileFunctions
{
public static bool AppExists()
{
return File.Exists(@"\blabla\something\app.exe");
}
}
请注意,我还使 class 静态,因此无法创建此 class 的对象,因为它在这里没有意义 (var makesNoSense = new FileFunctions();
) .
现在,在您的应用程序中,您可以使用此功能:
private void Launch_Click(object sender, EventArgs e)
{
if (FileFunctions.AppExists())
{
}
}
不能在代码中直接引用DLL;但是,如果 class 在另一个命名空间中,则必须引用此命名空间。或者直接在调用站点:
if (ClassLibraryNamespace.FileFunctions.AppExists())
... 或者在代码文件的顶部添加一个 using
,其中可能已经有一个 using System;
:
using ClassLibraryNamespace;
注意我没有写if (FileFunctions.AppExeExists() == true)
。 if 语句需要一个产生布尔值的表达式,即 true
或 false
。这就是returns的功能。它可以是一个比较,但这不是必需的。