我有一个非静态类,其中有几个属性,即 serverURL、serverPort 等,并且该类有一个构造函数。构造函数接受参数,然后使用这些参数来“设置”属性,初始化它们。这是代码:
public Server(string newServerAddress, int newServerPort) {
serverAddress = newServerAddress;
serverPort = newServerPort;
}
public string serverAddress {
get {
return serverAddress;
}
set {
serverAddress = value;
}
}
public int serverPort {
get {
return serverPort;
}
set {
serverPort = value;
}
出于某种原因,这给了我一个堆栈溢出错误,我不知道为什么。这是用于调用它的代码:
Server test = new Server("server.url.here",8080);
这段代码显然是由一个类绑定(bind)的,但我在这里省略了它。这是一个业余问题,我以前做过这样的事情,但我对发生的事情感到非常困惑,当我尝试在 visual studio 中调试它时,它告诉我它无法调试,大概因为它使用堆栈进行调试。
最佳答案
注意区分大小写。该属性正在自行返回。
public string serverAddress {
get {
return serverAddress; // recursing here
}
}
关于c# - 为什么在构造函数中使用属性时会出现堆栈溢出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1806841/