Pergunta
Estou lendo uma lista de direitos atribuídos a partir de uma caixa de câmbio, esses valores são devolvidos através da propriedade AccessFlag que retorna 20001 em Hex, parece que 2000 representa a permissão de leitura ea 1 representa permissão total.
O que eu quero fazer é mostrar esse valor como READ & permissões conjunto completo.
Solução
Se você quiser é como uma string, você precisa de uma enumeração.
Então, se você tem algo como isto:
[Flags]
enum Permissions
{
Read = 0x20000,
Full = 0x00001
}
Em seguida, você pode lançar o seu valor de retorno e utilização ToString ()
string val = ((Permissions )myValue).ToString();
E ele vai sair algo como isto:
Read, Full
Note que o atributo Flags é importante para este tipo de enum.
Outras dicas
Para ser honesto eu não sei o que você está pedindo.
Se você tem um valor a partir do AccessFlag, e você quer ver se ele tem um desses bandeira, você pode usar um bit a bit e por exemplo.
If((accessFlag & 0x2000) != 0) // It has FULL
If((accessFlag & 0x1) != 0) // It has READ
If((accessFlag & 0x2001) != 0) // It has READ AND FULL
É isso que você está procurando?
Você pode usar o operador bit a bit XOR para filtrar os valores que você precisa e deduzir o conjunto de permissões a partir deles.