3

私は Stylecop を使用していくつかのカスタム ルールを作成しています。double か float かを判断しようとしています。

ステートメントを確認して、CSTokenType を取得できました。CSTokenType は数値で、文字列として読み取ることができます。しかし、それはただの Number であるため、それが int 、 float 、 long 、 double などであるかどうかを実際に知る方法はありません。

プリミティブ型が何であるかを確認する方法についてのアイデアはありますか?

4

1 に答える 1

2

編集

数値リテラルが double か float かを判断するには、CsToken.Text (CsTokenType == CsTokenType.Number の場合) にどのサフィックスが存在するかを確認する必要があります。

いくつかの例:

  • 15 は整数です
  • 0.15 は double
  • 0.15d は double
  • 0.15f は float です
  • 0.15m は小数です

ソース: http://msdn.microsoft.com/en-us/library/aa691085(v=VS.71).aspxおよびhttp://msdn.microsoft.com/en-us/library/aa664674(v=VS ) .71).aspx

于 2010-03-25T17:25:22.977 に答える