Типы в .Net могут быть либо типами значений, либо типами ссылок.
Типы значений -> enums
, structs
и built-in values types
(bool, byte, short, int, long, sbyte, ushort, uint, ulong, char, double, decimal)
Типы ссылок -> classes
, interfaces
, delegates
, dynamic
и strings
Итак, как видите, перечисления — это типы (например, classes
и structs
, etc
). точнее, это типы значений. Важным моментом в отношении типов значений является то, что вы должны иметь возможность создавать из них экземпляры. Например, какая польза от int
, который является структурой (типом значения), если вы не можете создать его экземпляр для хранения в нем 2, 3 или любого числа?!
Это общее правило -> вы не можете создавать пользовательские типы значений (enums
и structs
) с модификатором static
.
Некоторые моменты:
Если вы пишете свои enums
или structs
непосредственно в namespace
, они не могут быть помечены как private
или protected
, как и другие типы. Они могут быть просто public
или internal
, как и другие типы.
Если вы пишете свои enums
или structs
непосредственно в class
, вы также можете пометить их как private
или protected
, так как вы можете пометить их как internal
и public
. class
для внутренних типов аналогичен namespace
для типов, за исключением того, что вы также можете отметить внутренние типы private
или public
.
person
Community
schedule
16.12.2019