次の方法で共有


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

更新 : 2007 年 11 月

TypeName

IdentifiersShouldNotContainTypeNames

CheckId

CA1720

カテゴリ

Microsoft.Naming

互換性に影響する変更点

あり

原因

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

または

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

規則の説明

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

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

  • Bool

  • WChar

  • Int8

  • UInt8

  • Short

  • UShort

  • Int

  • UInt

  • Integer

  • UInteger

  • Long

  • ULong

  • Unsigned

  • 符号付き

  • 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" などの汎用的な用語で置き換えます。

警告を抑制する状況

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

関連規則

識別子の大文字/小文字を正しく使い分ける必要があります

識別子には、大文字/小文字以外の相違が必要です

識別子にはアンダースコアを使用できません

パラメータ名はメンバ名と同一にしないでください