这个问题已被要求死亡,但我不能从这些答案中得出我的问题所在。
我想做的就是:
任何人都能解释为什么这不起作用?感谢。
class Program
{
public bool onVPN;
static void Main(string[] args)
{
CheckVPN();
CheckIfInternal();
Console.WriteLine("Press enter to close...");
Console.ReadLine();
}
public void CheckVPN()
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in adapters)
{
//crude way to check if the VPN adapter is running
if (adapter.Description == "VPN Adapter")
{
onVPN = true;
}
else
{
onVPN = false;
}
}
}
答案 0 :(得分:2)
class Program
{
public static bool onVPN;
static void Main(string[] args)
{
CheckVPN();
CheckIfInternal();
Console.WriteLine("Press enter to close...");
Console.ReadLine();
}
public static void CheckVPN()
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in adapters)
{
//crude way to check if the VPN adapter is running
if (adapter.Description == "VPN Adapter")
{
onVPN = true;
}
else
{
onVPN = false;
}
}
}
已应用更改,static
关键字添加到onVPN
字段,方法CheckVPN
。
可在此处找到更多说明:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0120
答案 1 :(得分:0)
这里有2个选项
1.将CheckVPN()
签名更改为静态,将变量onVPN
更改为静态,您可以找到必须添加static
here
2.创建新类并按原样放置代码,然后在主类上执行此类操作
Class1 c = new Class1();
c.CheckVPN();