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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top