C#ではSystem.IO.Ports.SerialPort
、Windowsフォームにコンポーネントがあります。私のコードには、次のようにループする場所がいくつかあります。
foreach (SerialPort in components.Components)
{
// Do something.
}
ただし、を実行すると、各SerialPortがcomponents.Components
クラスから削除されるmySerialPort.Close()
ため、後続のすべてのループで失われます。これはバグですか?それともこれは意図的なものですか?なぜそれは設計上そのように振る舞うのでしょうか?
内部ドキュメントには、メソッドはオブジェクトを内部Close()
でのみ破棄すると記載されています。Stream