Строки не работают так в C # - они неизменны.
Вы можете заставить это работать, используя ключевое слово ref
, как предлагали другие, однако это будет работать, только если вы установите SelectedItem
в конструкторе, что немного маловероятно!
Обычный способ сделать это состоит в том, чтобы ваш диалог выставлял свойство в вашем диалоге:
public partial class MyDialogWindow: Window
{
public string SelectedItem
{
get;
set;
{
// etc...
}
MyDialogWindow dialog = new MyDialogWindow(result);
if (form.ShowDialog().Value)
{
string res = dialog.SelectedItem;
}
Это способ, которымдругие диалоги (например, диалоги открытия / сохранения файла) работают.