更新 : 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" などの汎用的な用語で置き換えます。
警告を抑制する状況
型に基づくパラメータ名およびメンバ名の方が適切な場合もあります。ただし、新たに開発する場合は、この規則による警告を抑制する必要がある状況は考えられません。以前に提供済みのライブラリの場合は、この規則による警告の抑制が必要となることもあります。