StaticExtension.ProvideValue(IServiceProvider) Método
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.
Retorna um valor de objeto a ser definido na propriedade em que você aplica essa extensão. Para StaticExtension, o valor retornado é o valor estático que é avaliado para o membro estático solicitado.
public:
override System::Object ^ ProvideValue(IServiceProvider ^ serviceProvider);
public override object ProvideValue(IServiceProvider serviceProvider);
override this.ProvideValue : IServiceProvider -> obj
Public Overrides Function ProvideValue (serviceProvider As IServiceProvider) As Object
Parâmetros
- serviceProvider
- IServiceProvider
Um objeto que pode fornecer serviços para a extensão de marcação. Espera-se que o provedor de serviços forneça um serviço que implemente um resolvedor de tipos (IXamlTypeResolver).
Retornos
O valor estático a ser definido na propriedade em que a extensão é aplicada.
Exceções
O member valor da extensão está null no momento da avaliação.
Algumas partes da member cadeia de caracteres não analisaram corretamente
- ou -
serviceProvider não forneceu um serviço para IXamlTypeResolver
- ou -
member O valor não foi resolvido para um membro estático.
serviceProvider é null.
Comentários
Esse método dá suporte a recursos de linguagem XAML e geralmente não se destina a ser chamado diretamente. A implementação do processador XAML usa esse método para lidar corretamente com os valores de extensão durante a x:Static criação do objeto.
Essa implementação depende de serviços baseados no passado serviceProvider.
serviceProvider não deve ser null.
serviceProvider Espera-se que o objeto retorne um serviço para IXamlTypeResolver. No cenário normal de uso pelos leitores XAML padrão e pelos gravadores XAML, um provedor de serviços adequado está disponível. Um contexto de esquema XAML inválido pode ter o efeito colateral da quebra do mapeamento de tipo e, portanto, do IXamlTypeResolver serviço.
No .NET Framework 4, StaticExtension dá suporte a um modo alternativo pelo qual ele pode retornar um membro estático com base em Member sendo o nome do membro simples e seu tipo de propriedade fornecidos como MemberType, em vez de Member fornecendo um nome completo no formulário type.member. O resolvedor de tipos ainda atua, mas nesse caso o Member e MemberType são basicamente combinados: memberFullName = MemberType.FullName + "." + Member.