msdn を閲覧していて、このページを見つけました。私は関数を見たことがありませSerialPort.Flush()
んSerialPort.Finalize()
。そのため、これらの関数を使用しようとしましたが、エラーが発生しています。
System.IO.Ports
名前空間を追加しましたが、Finalize()
関数で次のエラーが発生します。
Cannot access protected member 'object.~Object()' via a qualifier of type 'System.IO.Ports.SerialPort'; the qualifier must be of type 'STP_Design.SerialCom' (or derived from it)
Flush()
関数で次のエラーが発生します。
'System.IO.Ports.SerialPort' does not contain a definition for 'Flush' and no extension method 'Flush' accepting a first argument of type 'System.IO.Ports.SerialPort' could be found (are you missing a using directive or an assembly reference?)
私は間違ったアプローチでファイナライズ関数にアクセスしていると思います(そして、おそらくまったくアクセスしてはいけません)が、Flush()
関数についてはどうなのか本当に疑問に思っています。
私はこのようなものを使用しました:
private void test()
{
SerialPort s1 = new SerialPort();
s1.PortName = "COM1";
s1.Open();
thread.Sleep(200);
s1.WriteLine("test");
s1.Flush();
s1.Close();
thread.Sleep(200);
s1.Finalize();
}
ここに洞察はありますか?
編集: SerialPort.Dispose(boolean) 関数で同じ問題が発生しましたオプションのブール値もアクセスできません...