Передача ссылочного параметра в поток - C#

Узнай цену своей работы

Формулировка задачи:

Есть класс и в нем объявлен метод, который принимает ссылочный параметр

ref string

, необходимо выполнить этот метод в новом потоке и передать этот параметр. Подскажите как этот параметр передать, с параметром по значению проблем нет. Так же возможен вариант присвоить эту ссылку полю класса. То есть примерно так:
Листинг программы
  1. class MyClass
  2. {
  3. public string str1;
  4. public void Method1()
  5. {
  6. // тело метода
  7. }
  8. }
  9. MyClass myclass = new MyClass();
  10. myclass.str1 = "some string";
  11. Thread t = new Thread(Method1);
  12. t.Start();
Как можно, передать ссылочный параметр подобно этому способу со строкой?

Решение задачи: «Передача ссылочного параметра в поток»

textual
Листинг программы
  1.     internal class MyClass
  2.     {
  3.         private class stringWrapper
  4.         {
  5.             public string val;
  6.         }
  7.  
  8.         private readonly stringWrapper str1 = new stringWrapper();
  9.  
  10.         public static void Method1(object param)
  11.         {
  12.             stringWrapper str1 = (stringWrapper) param;
  13.             str1.val = "some new string";
  14.         }
  15.  
  16.         private static void Main(string[] args)
  17.         {
  18.             MyClass myclass = new MyClass();
  19.             myclass.str1.val = "some string";
  20.             Thread t = new Thread(Method1);
  21.             t.Start(myclass.str1);
  22.         }
  23.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут