W Form1 kod wygląd tak
namespace CTest
{
interface IName
{
string name { get; set; }
}
public partial class Form1 : Form, IName
{
public Form1()
{
InitializeComponent();
}
public string name
{
get { return textBox1.Text; }
set { textBox1.Text = value; }
}
private void button1_Click(object sender, EventArgs e)
{
San test = new San(this);
test.pokaz();
}
W klasie tak
namespace CTest
{
class San
{
private readonly IName form;
public San(IName form)
{
this.form = form;
}
public void pokaz()
{
form.name = "Warta";
}
}
}
To działa, tekst się zmienia prawidłowo.
Klasa San ma działać w oddzielnym zadaniu.
Skorzystałem więc z biblioteki TPL kod button1 zmieniłem na
private void button1_Click(object sender, EventArgs e)
{
var t1 = new Task(() =>
{
San test = new San(this);
test.pokaz();
});
}
Po tej zmianie kod wykonuje się bez błędów ale tekst się nie zmienia. Dlaczego ?