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

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

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

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

ref string

, необходимо выполнить этот метод в новом потоке и передать этот параметр. Подскажите как этот параметр передать, с параметром по значению проблем нет. Так же возможен вариант присвоить эту ссылку полю класса. То есть примерно так:
class MyClass
{
   public string str1;
   public void Method1()
   {
      // тело метода
   }
}
 
MyClass myclass = new MyClass();
myclass.str1 = "some string";
Thread t = new Thread(Method1);
t.Start();
Как можно, передать ссылочный параметр подобно этому способу со строкой?

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

textual
Листинг программы
    internal class MyClass
    {
        private class stringWrapper
        {
            public string val;
        }
 
        private readonly stringWrapper str1 = new stringWrapper();
 
        public static void Method1(object param)
        {
            stringWrapper str1 = (stringWrapper) param;
            str1.val = "some new string";
        }
 
        private static void Main(string[] args)
        {
            MyClass myclass = new MyClass();
            myclass.str1.val = "some string";
            Thread t = new Thread(Method1);
            t.Start(myclass.str1);
        }
    }

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


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

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

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