次の方法で共有


CA1720: 識別子には型名を含めないでください

TypeName

IdentifiersShouldNotContainTypeNames

CheckId

CA1720

カテゴリ

Microsoft.Naming

互換性に影響する変更点

あり

原因

外部から参照できるメンバーのパラメーター名に、データ型の名前が含まれます。

または

外部から参照できるメンバーの名前に、言語固有のデータ型名が含まれます。

規則の説明

パラメーターとメンバーの名前では、パラメーターとメンバーの型ではなく意味を伝えるようにします。パラメーターとメンバーの型は、開発ツールで表示されるためです。 メンバー名でデータ型名を使用する必要がある場合は、言語固有の型名ではなく、言語に依存しない型名を使用します。 たとえば、C# の型名である "int" ではなく、言語に依存しないデータ型名の "Int32" を使用します。

パラメーター名またはメンバー名の各トークンは、大文字と小文字を区別しない方法で、次の言語固有のデータ型名が含まれているかどうかチェックされます。

  • Bool

  • WChar

  • Int8

  • UInt8

  • Short

  • UShort

  • Int

  • UInt

  • Integer

  • UInteger

  • Long

  • ULong

  • Unsigned

  • Signed

  • Float

  • Float32

  • Float64

さらに、パラメーター名は、大文字と小文字を区別しない方法で、次の言語に依存しないデータ型名が含まれているかどうかもチェックされます。

  • Object

  • Obj

  • Boolean

  • Char

  • String

  • SByte

  • Byte

  • UByte

  • Int16

  • UInt16

  • Int32

  • UInt32

  • Int64

  • UInt64

  • IntPtr

  • Ptr

  • Pointer

  • UInptr

  • UPtr

  • UPointer

  • Single

  • Double

  • Decimal

  • Guid

違反の修正方法

パラメーターの場合

パラメーター名のデータ型の識別子を、そのパラメーターの意味をよく表す用語、または "value" などの汎用的な用語で置き換えます。

メンバーの場合

メンバー名の言語固有のデータ型の識別子を、そのメンバーの意味をよく表す、言語に依存しない用語、または "value" などの汎用的な用語で置き換えます。

警告を抑制する状況

型に基づくパラメーター名およびメンバー名の方が適切な場合もあります。 ただし、新たに開発する場合、この規則による警告を抑制する必要がある状況は発生しません。 以前に提供済みのライブラリの場合は、この規則による警告の抑制が必要となることもあります。

関連規則

CA1709: 識別子では、大文字と小文字が正しく区別されなければなりません

CA1708: 識別子は、大文字と小文字の区別以外にも相違していなければなりません

CA1707: 識別子はアンダースコアを含むことはできません

CA1719: パラメーター名はメンバー名と同一にすることはできません