我是C#的新手.我想知道为什么我会因此而出错:
错误:对于此方法,需要对象引用(从德语消息翻译).有任何想法吗.对我来说似乎是对的.
namespace DNS
{
public class Core
{
Dig dig;
public Core()
{
dig = new Dig();
}
public static void startTest()
{
dig.myServer = "10.10.10.10"; <------ ERROR
Run Code Online (Sandbox Code Playgroud)
您试图以dig
静态方法访问实例字段,这是不可能的,因为您需要一个对象实例才能访问实例成员.
一种可能性是使该dig
字段静态:
public class Core
{
private static Dig dig = new Dig();
public static void startTest()
{
dig.resolver.DnsServer = "10.10.10.10";
...
}
}
Run Code Online (Sandbox Code Playgroud)
另一种可能性是制作startTest
方法和实例方法:
public class Core
{
private Dig dig;
public Core()
{
dig = new Dig();
}
public void startTest()
{
dig.resolver.DnsServer = "10.10.10.10";
...
}
}
Run Code Online (Sandbox Code Playgroud)
或另一种可能性是Core
在静态方法中创建对象的实例:
public class Core
{
private Dig dig;
public Core()
{
dig = new Dig();
}
public static void startTest()
{
Core core = new Core();
core.dig.resolver.DnsServer = "10.10.10.10";
...
}
}
Run Code Online (Sandbox Code Playgroud)
这取决于您的实际设计要求.
归档时间: |
|
查看次数: |
79 次 |
最近记录: |