Передача ссылочного параметра в поток - 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);
}
}