Dlaczego powtarzasz duplikaty kluczy enum?
Pracuję teraz nad niektórymi sprawami dotyczącymi rejestru.
Sprawdziłem enumRegistryRights
wSystem.Security.AccessControl
.
public enum RegistryRights
{
QueryValues = 1,
SetValue = 2,
CreateSubKey = 4,
EnumerateSubKeys = 8,
Notify = 16,
CreateLink = 32,
Delete = 65536,
ReadPermissions = 131072,
WriteKey = 131078,
ExecuteKey = 131097,
ReadKey = 131097,
ChangePermissions = 262144,
TakeOwnership = 524288,
FullControl = 983103,
}
To wyliczenie jest bitowe, a wiem, że wyliczenia mogą zawierać zduplikowane wartości. Próbowałem iterować enum po tym kodzie:
foreach (System.Security.AccessControl.RegistryRights regItem in Enum.GetValues(typeof(System.Security.AccessControl.RegistryRights)))
{
System.Diagnostics.Debug.WriteLine(regItem.ToString() + " " + ((int)regItem).ToString());
}
również Enum.GetName (typeof (RegistryRights), regItem) zwraca tę samą nazwę klucza.
a wyjście jakie otrzymałem to:
QueryValues 1
SetValue 2
CreateSubKey 4
EnumerateSubKeys 8
Notify 16
CreateLink 32
Delete 65536
ReadPermissions 131072
WriteKey 131078
<strong>ReadKey 131097
ReadKey 131097</strong>
ChangePermissions 262144
TakeOwnership 524288
FullControl 983103
Czy ktoś może mi powiedzieć?czemu czy mam duplikaty kluczy? („ReadKey” zamiast „ExecuteKey”)W jaki sposób Czy mogę zmusić go do oddania int do drugiego klucza wartości? i dlaczego ToString nie zwraca rzeczywistej wartości klucza?