2008-11-09 2 views

ответ

10

До тех пор, пока вы не находитесь в другом потоке, да, образец кода действителен. Текстовое поле (или другие элементы форм Windows) все еще являются объектами, которые могут быть переданы и обработаны методами.

+0

Спасибо за разъяснение его и ваш быстрый ответ. – 2008-11-09 18:35:22

8

Yup, это будет работать. Вы на самом деле не передаете объект - вы передаете объект с ссылкой.

См. "Parameter passing in C#" для получения более подробной информации о пропуске по сравнению с передачей по значению.

+0

Благодарим вас за исправление моего понимания использования терминов. Ваш ответ и «информационные ссылки» также высоко оценены. – 2008-11-09 18:37:07

+0

ссылка на "Передача параметров в C#" больше не действительна. – 2013-02-23 14:52:45

4

Для любого ссылочного типа, это нормально - вы передали ссылку на объект, но есть только один объект, поэтому изменения видны вызывающему.

Основное время, которое не будет Работа для "structs" (value-types) - но они действительно не должны изменяться в любом случае (то есть они не должны действительно иметь редактируемые свойства).

Если необходимо сделать это с помощью структуры, можно добавить «ссылка» - т.е.

public void MyFunction(ref MyMutableStruct whatever) 
{ 
    whatever.Value = "Hi."; // but avoid mutable structs in the first place! 
} 
Смежные вопросы