Я создал класс, который передает строковый параметр в конструкторе. Я изменяю значение параметра в конструкторе. Когда элемент управления возвращается в исходный класс, значение не изменяется. Я ожидаю, что это изменить - пожалуйста, помогитеC# Передача параметра по значению
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)' - это странно, откуда вы это узнали? – Sinatr
Когда вы вызываете метод с параметром 'ref', он должен жаловаться, если вы также не звоните с' ref' ...? Кроме того, вы не назначаете 'ANodeName'. – crashmstr
Кстати, очень необычно иметь конструктор, который мутирует входящие параметры/переменные. Конструктор должен построить/инициализировать экземпляр нового объекта, а не мутировать другие объекты! – stakx