TypeName | UseBuiltInTypeAlias |
CheckId | SA1121 |
Category | Readability Rules |
Cause
The code uses one of the basic C# types, but does not use the built-in alias for the type.
Rule Description
A violation of this rule occurs when one of the following types are used anywhere in the code: Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, Object, SByte, Single, String, UInt16, UInt32, UInt64.
A violation also occurs when any of these types are represented in the code using the full namespace for the type: System.Boolean, System.Byte, System.Char, System.Decimal, System.Double, System.Int16, System.Int32, System.Int64, System.Object, System.SByte, System.Single, System.String, System.UInt16, System.UInt32, System.UInt64.
Rather than using the type name or the fully-qualified type name, the built-in aliases for these types should always be used: bool, byte, char, decimal, double, short, int, long, object, sbyte, float, string, ushort, uint, ulong.
The following table lists each of these types in all three formats:
Type Alias |
Type |
Fully Qualified Type |
bool |
Boolean |
System.Boolean |
byte |
Byte |
System.Byte |
char |
Char |
System.Char |
decimal |
Decimal |
System.Decimal |
double |
Double |
System.Double |
short |
Int16 |
System.Int16 |
int |
Int32 |
System.Int32 |
long |
Int64 |
System.Int64 |
object |
Object |
System.Object |
sbyte |
SByte |
System.SByte |
float |
Single |
System.Single |
string |
String |
System.String |
ushort |
UInt16 |
System.UInt16 |
uint |
UInt32 |
System.UInt32 |
ulong |
UInt64 |
System.UInt64 |
How to Fix Violations
To fix a violation of this rule, replace the type with the built-in alias for the type.