【发布时间】:2015-01-29 14:53:27
【问题描述】:
我创建了一个在构造函数中传递字符串参数的类。我在构造函数中更改参数的值。当控件回到我原来的类时,值不会改变。我希望它会改变 - 请帮助
string NewNodeName = "";
AddNode NewNodeFrm = new AddNode( NewNodeName);
NewNodeFrm.ShowDialog();
if (NewNodeFrm.DialogResult.Equals(true))
{
MessageBox.Show(NewNodeName);
}
在类中调用
public partial class AddNode : Window
{
private string NodeName;
public AddNode(ref string ANodeName)
{
NodeName = ANodeName;
NodeName = "Fred";
InitializeComponent();
}
【问题讨论】:
-
DialogResult.Equals(true)- 这很奇怪,你从哪里学来的? -
当您使用
ref参数调用方法时,它应该会报错,除非您也使用ref调用...?另外,您不要分配ANodeName。 -
顺便说一句,拥有一个改变入站参数/变量的构造函数是非常不寻常的。构造函数应该构造/初始化一个新的对象实例,而不是改变其他对象!
-
可能相关的old question of mine 与
ints 提出了类似的问题。
标签: c#