我正在编写一个使用 MEF 框架创建插件的程序。尝试在其中一个插件中设置变量时,出现堆栈溢出异常。
插件中的变量定义为public string bnick {get {return bnick;} set {bnick = value;}}
主程序中的调用代码:
public void SetUpPlugins()
{
foreach (Plugin p in plugins)
{
p.bnick = nick;
p.HostProgram = this;
}
}
使用调试器,我确定该行p.bnick = nick
只被调用一次。而且它永远不会进入下一行。
为什么这会填满堆栈,我该如何解决?