WwwFormUrlDecoder Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Analisa uma cadeia de caracteres de consulta de URL e expõe os resultados como um vetor somente leitura (lista) de pares nome-valor da cadeia de caracteres de consulta.
public ref class WwwFormUrlDecoder sealed : IIterable<IWwwFormUrlDecoderEntry ^>, IVectorView<IWwwFormUrlDecoderEntry ^>
/// [Windows.Foundation.Metadata.Activatable(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WwwFormUrlDecoder final : IIterable<IWwwFormUrlDecoderEntry>, IVectorView<IWwwFormUrlDecoderEntry>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class WwwFormUrlDecoder final : IIterable<IWwwFormUrlDecoderEntry>, IVectorView<IWwwFormUrlDecoderEntry>
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class WwwFormUrlDecoder : IEnumerable<IWwwFormUrlDecoderEntry>, IReadOnlyList<IWwwFormUrlDecoderEntry>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class WwwFormUrlDecoder : IEnumerable<IWwwFormUrlDecoderEntry>, IReadOnlyList<IWwwFormUrlDecoderEntry>
function WwwFormUrlDecoder(query)
Public NotInheritable Class WwwFormUrlDecoder
Implements IEnumerable(Of IWwwFormUrlDecoderEntry), IReadOnlyList(Of IWwwFormUrlDecoderEntry)
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Comentários
Use a classe WwwFormUrlDecoder para analisar uma cadeia de caracteres de consulta em pares nome-valor, com base no número e no posicionamento dos símbolos "&" e "=". Cada par nome-valor é representado por um objeto IWwwFormUrlDecoderEntry , que tem uma propriedade Name e uma propriedade Value (ambas cadeias de caracteres).
Use GetFirstValueByName para encontrar um parâmetro de cadeia de caracteres de consulta nomeado específico. Todos os idiomas podem usar esse método. Normalmente, você usaria GetFirstValueByName em vez de GetAt porque a ordem dos itens em uma cadeia de caracteres de consulta geralmente não é importante, enquanto o nome do parâmetro é o identificador importante das partes de uma consulta. Ou, se você não tiver certeza de quais nomes existem na cadeia de caracteres de consulta, poderá enumerar sobre a coleção WwwFormUrlDecoder completa.
A propriedade Uri.QueryParsed retorna um WwwFormUrlDecoder completo com base em uma instância de Uri . Portanto, se você estiver usando extensões de componente do Visual C++ (C++/CX) ou código JavaScript e já tiver uma instância de Uri , não precisará construir um novo objeto WwwFormUrlDecoder, a instância de Uri já tem um. Você poderá construir um WwwFormUrlDecoder se tiver uma cadeia de caracteres representando uma URL ou seu componente de cadeia de caracteres de consulta de outras fontes, como de uma API Windows.Web.Http .
Observação
Essa coleção é um vetor em vez de um mapa caso a ordem original tenha algum significado para uma implementação e também porque é legal que o mesmo nome apareça na cadeia de caracteres de consulta duas vezes, enquanto não é legal que os mapas tenham chaves duplicadas.
Listas de membros da coleção
Para uso do .NET, WwwFormUrlDecoder tem as APIs projetadas de um IReadOnlyList genérico com uma restrição IWwwFormUrlDecoderEntry . As APIs disponíveis para cada idioma são indicadas nas listas de membros.
Para JavaScript, WwwFormUrlDecoder tem os membros mostrados nas listas de membros. Além disso, WwwFormUrlDecoder dá suporte a uma propriedade de comprimento , membros de Array.prototype e usando um índice para acessar itens.
Uso do .NET
O código .NET não pode usar a classe Windows.Foundation.Uri (em vez disso, você usa System.Uri ). Mas o código .NET pode e deve usar WwwFormUrlDecoder. O uso de WwwFormUrlDecoder é mais simples e menos propenso a erros do que a divisão de cadeia de caracteres em caracteres "&" e "=". Isso fica complicado por causa da codificação. Para usar WwwFormUrlDecoder, chame o construtor WwwFormUrlDecoder , passando o valor de Consulta do System.Uri. Isso inicializa um novo objeto WwwFormUrlDecoder. Em seguida, use GetFirstValueByName para encontrar um parâmetro de cadeia de caracteres de consulta nomeado específico. Ou, se você não souber o que vai estar na cadeia de caracteres de consulta, enumere sobre a coleção para determinar os parâmetros de cadeia de caracteres de consulta disponíveis.
Use a interface IWwwFormUrlDecoderEntry para o tipo dos itens na coleção (é assim que os itens são digitados por IndexOf). Não use a classe WwwFormUrlDecoderEntry , ela não está disponível para uso do .NET.
WwwFormUrlDecoder também tem as APIs projetadas de um IReadOnlyList genérico com uma restrição IWwwFormUrlDecoderEntry , mas essas APIs não são comumente usadas.
Observação
System.Web.HttpUtility.ParseQueryString
não está disponível para o aplicativo .NET para Windows Runtime. WwwFormUrlDecoder é a substituição recomendada para ele.
Enumerando a coleção em C# ou Microsoft Visual Basic
WwwFormUrlDecoder é enumerável, portanto, você pode usar a sintaxe específica da linguagem, como foreach em C# para enumerar os itens na coleção. O compilador faz a conversão de tipo para você e você não precisará converter IEnumerable<IWwwFormUrlDecoderEntry>
explicitamente. Se você precisar converter explicitamente, por exemplo, se quiser chamar GetEnumerator, converta para IEnumerable<T> com uma restrição IWwwFormUrlDecoderEntry .
Construtores
WwwFormUrlDecoder(String) |
Cria e inicializa uma nova instância da classe WwwFormUrlDecoder . |
Propriedades
Size |
Obtém o número dos pares nome-valor na cadeia de caracteres de consulta de URL atual. |
Métodos
First() |
Obtém um iterador que representa o primeiro par nome-valor na cadeia de caracteres de consulta de URL atual. |
GetAt(UInt32) |
Obtém o par nome-valor no índice especificado na cadeia de caracteres de consulta de URL atual. |
GetFirstValueByName(String) |
Obtém o primeiro par nome-valor que tem o nome especificado, conforme obtido da cadeia de caracteres de consulta URI (Uniform Resource Identifier) de construção. |
GetMany(UInt32, IWwwFormUrlDecoderEntry[]) |
Obtém pares nome-valor começando no índice especificado na cadeia de caracteres de consulta de URL atual. |
IndexOf(IWwwFormUrlDecoderEntry, UInt32) |
Obtém um valor que indica se o IWwwFormUrlDecoderEntry especificado está no índice especificado na cadeia de caracteres de consulta de URL atual. |