C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

RS232Cで警告が出る問題

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■87376 / inTopicNo.1)  RS232Cで警告が出る問題
  
□投稿者/ 猫太郎 (1回)-(2018/05/16(Wed) 11:28:31)

分類:[.NET 全般] 

RS232Cを制御するためのプログラムをVB2015で書いています。

ユーザーフォームにSerialPortを取り込んだところ、
RS232C機器と通信できることは確認できました。

ただ、
Dim ports() As String = SerialPort1.GetPortNames()
というところで以下の警告が出ます。
警告 BC42025 共有メンバー、定数メンバー、列挙型メンバー、または入れ子にされた型にインスタンス経由でアクセスしています。正規の式は評価されません。

一応、ビルドできて使用はできるのですが
何となく気持ち悪いので
この警告を消す方法があれば教えてください。






引用返信 編集キー/
■87377 / inTopicNo.2)  Re[1]: RS232Cで警告が出る問題
□投稿者/ 魔界の仮面弁士 (1667回)-(2018/05/16(Wed) 11:52:26)
No87376 (猫太郎 さん) に返信
> Dim ports() As String = SerialPort1.GetPortNames()

現状の SerialPort1.GetPortNames() の部分に、緑波線が引かれていませんか?

緑波線の警告が出ているコード部をクリックして、
左端の豆電球アイコンをクリックする(あるいは Shift+Alt+F10)と、
適切なコードに置き換えてくれます。


要するに、GetPortNames メソッドはインスタンスメンバーではなく、Shared メンバーなので、
 Dim ports() As String = System.IO.Ports.SerialPort.GetPortNames()
と書くのが正しいということです。


SerialPort の GetPortNames メソッドは、
「現在のコンピューターで有効なシリアル ポートの一覧」
を得るための物なので、共有メソッドとして実装されています。

これに対し、SerialPort の Open / Close メソッドなどは、
ポート単位での開閉操作となりますので、インスタンスメソッドとなるわけです。
引用返信 編集キー/
■87379 / inTopicNo.3)  Re[2]: RS232Cで警告が出る問題
□投稿者/ 魔界の仮面弁士 (1668回)-(2018/05/16(Wed) 12:00:07)
2018/05/16(Wed) 12:00:29 編集(投稿者)

No87377 (魔界の仮面弁士) に追記
> 緑波線の警告が出ているコード部をクリックして、
> 左端の豆電球アイコンをクリックする(あるいは Shift+Alt+F10)と、
> 適切なコードに置き換えてくれます。

と思ったのですが、手元の環境だと
 VB2012 Ultimate → SerialPort.GetPortNames() に置き換えてくれる
 VB2017 Enterprise → 「#Disable Warning BC42025」を追加して警告を握りつぶす
という置き換えが行われました…。(VB2015 は手元に無いので未確認)


この場合、警告を握りつぶすべきではないので、
SerialPort1.GetPortNames() を
SerialPort.GetPortNames() に置き換える方が望ましいです。
引用返信 編集キー/
■87381 / inTopicNo.4)  Re[3]: RS232Cで警告が出る問題
□投稿者/ 猫太郎 (2回)-(2018/05/16(Wed) 12:18:59)
ありがとうございます。

うまくいきました。

ちなみにVB2015だと豆電球は出てきませんでした。
 
引用返信 編集キー/
■87382 / inTopicNo.5)  Re[4]: RS232Cで警告が出る問題
□投稿者/ 猫太郎 (3回)-(2018/05/16(Wed) 12:19:04)
No87381 (猫太郎 さん) に返信
> ありがとうございます。
>
> うまくいきました。
>
> ちなみにVB2015だと豆電球は出てきませんでした。
>  
解決済み
引用返信 編集キー/
■87383 / inTopicNo.6)  Re[4]: RS232Cで警告が出る問題
□投稿者/ 魔界の仮面弁士 (1670回)-(2018/05/16(Wed) 12:58:03)
No87381 (猫太郎 さん) に返信
> ちなみにVB2015だと豆電球は出てきませんでした。

こういうアイコンです。(Roslyn のライブコード分析機能)
https://msdn.microsoft.com/ja-jp/library/dn872466.aspx

# 出ない場合は、[Ctrl+.] または [Alt+Shift+F10] で。

解決済み
引用返信 編集キー/
■87391 / inTopicNo.7)  Re[5]: RS232Cで警告が出る問題
□投稿者/ 猫太郎 (4回)-(2018/05/17(Thu) 11:36:41)
豆電球はエラーによっては出ることもあるのですが
出ないこともあります。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ