わかりましたので、一連のカスタム イベントの実装に取り組んでいます。それらは主にマルチスレッド環境で使用され、スレッド全体で主要な成果を伝えます。これで、今のところこの簡単なセットアップができました。
public delegate void TestEventHandler(object sender, TestEventArgs e);
public class Test
{
bool _stopTesting = false;
int _runs = 0;
public event TestEventHandler Tester;
protected virtual void OnTest(TestEventArgs e)
{
TestEventHandler hand = Tester;
if (hand != null)
hand(this, e);
}
public void StartTest()
{
while (!_stopTesting)
{
_runs++;
TestEventArgs e = new TestEventArgs(true, 100000);
OnTest(e);
}
}
}
public class TestMe
{
public void TestMeHard(object sender, TestEventArgs e)
{
Test check = sender as Test;
Console.WriteLine(e.Message);
}
}
イベント引数クラスは別の場所で定義されています。私の質問はこれです、sender
オブジェクトはスレッドセーフですか、そして初心者の質問を許しますが、sender
オブジェクトは参照ですか、それともコピーですか? 同様に、送信者オブジェクトへの変更は、イベントをトリガーした実際のオブジェクトに反映されますか?