私はC#のWindowsを書いているが、シリアルポートからの入力を取得するアプリ、下図のように私は、サンプルコードを参照してください。EventHandlerの結果が新しくなると、あまりに多くのジャンクが発生しますか?
private void serialPort_DataReceived_1 (object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
if (this.serialPort.IsOpen == true)
{
this.BeginInvoke(new EventHandler(delegate { this.textBox1.AppendText(this.serialPort.ReadExisting()); }));
}
}
コードがうまく動作します。しかし、私はBeginInvokeが何度も動いているのだろうかと疑問に思っています。この後も使用されていない多くの "new EventHandler"もメモリに作成されますか?
「新しいEventHandlerをメモリに作成する」と思われる正当な理由があるのですか、まさに編集的なのですか? –
いいえ、私は持っていません。私は、匿名の代理人を使ってプログラミングで悪い練習をすることができたのだろうかと思います。そのような '作成された'代議員を再利用することは不可能だと思われます。とにかく、すべての返信に感謝します。 :) – hongcc