Eu tenho uma enumeração:
public enum MediaTypes
{
Book = 0,
Video = 1,
Magazine = 2,
Picture = 3
All = 99
}
...que eu gostaria de passar para uma página e extrair seu valor como uma QueryProperty na página:
[QueryProperty("MediaType", "MediaType")]
public int MediaType { get; set; }
Isso funciona se o tipo for definido como "int", mas gera um erro de conversão se o tipo for definido como o que eu realmente quero que seja: um MediaTypes.
public MediaTypes MediaType { get; set; }
Qual é a maneira correta de passar/analisar uma QueryProperty que é uma enumeração?
Suponho que "a maneira correta" seja uma questão de opinião, mas uma maneira certa de fazer isso funcionar é ter a
[QueryProperty]
invocação de umstring-to-MediaTypes
conversor. Você pode fazê-lo funcionar emint
valores ou valores nomeados, se quiser, como mostrado.Suponha que você queira uma consulta como esta:
...ou assim:
Sua classe "some page" poderia manipular a consulta assim: