Avoid language specific type names in parameters
TypeName |
AvoidLanguageSpecificTypeNamesInParameters |
CheckId |
CA1718 |
Category |
Microsoft.Naming |
Breaking Change |
Breaking |
Cause
The name of a parameter in an externally visible member contains a language-specific type name.
Rule Description
Each concatenated word in the parameter name is checked against the following language-specific type names, in a case-insensitive manner:
bool
float
float32
float64
int
int8
integer
long
short
uint
ulong
unsigned
ushort
wchar
Language-specific type names might not be intuitive for developers using other languages. If a type name must be used, use a universal type name instead of a language-specific type name. For example, instead of the C# type name 'ushort', use the universal type name, UInt16.
How to Fix Violations
Select a parameter name that does not contain one of the previously listed type names.
When to Exclude Warnings
For new development, there are no known scenarios where it is necessary to exclude a warning from this rule. For shipping libraries, it might be necessary to exclude a warning from this rule.
Related Rules
Long acronyms should be pascal-cased
Short acronyms should be uppercase
Identifiers should be cased correctly
Identifiers should differ by more than case
Identifiers should not contain underscores