Я хочу поместить ссылку на строку в класс
public class MyClass {
public ref string Value; //компилятор говорит, что так нельзя
//...
}
чтобы сделать так:
MyClass foo = new();
foo.Value = ref SomeTextbox.Text;
SomeTextbox.Text = "something" //допустим, пользователь что-то вводит
MessageBox.Show(foo.Value) //"something"
В моём случае, области видимости (и, соответственно, время жизни) текстбокса и моего класса одинаковы. Поэтому, хотелось бы задать Value в качестве ссылки на текстбокс. Можно ли это сделать?
Я знаю об альтернативных решениях с использованием:
- Обработчиков событий
TextChangedилиLostFocus Tag
но мне просто интересна сама возможность использования ссылки внутри класса, как правильно её внутри класса объявлять и как назначать. И если поле другого класса совсем невозможно использовать в качестве ссылки, то вопрос всё равно актуален – как тогда поместить ссылку на TextBox.. или вообще любую другую (текстбокс здесь для примера) внутрь динамического класса?
Например foo.Value = ref SomeExampleString – как я должен объявить Value в классе, чтобы это работало?

refничего не получится. – aepot May 08 '22 at 13:16SomeTextbox.DataBindings.Add("Text", foo.Value, "Name");, изменение текста текстбокса повлечет за собой изменение foo.Value, так? – Титан May 08 '22 at 13:32foo.Valueв биндинг по значению, это не может работать! И откуда вы вообще взяли "Name"? – Pavel Mayorov May 08 '22 at 13:35