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 na qual a extensão é aplicada. Para StaticExtension, o valor retornado é o valor estático 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. O provedor de serviços deve fornecer um serviço que implementa um resolvedor de tipo (IXamlTypeResolver).
Retornos
O valor estático a ser definido na propriedade na qual a extensão é aplicada.
Exceções
O valor member
da extensão é null
no momento da avaliação.
Alguma parte da cadeia de caracteres member
não foi analisada corretamente
- ou -
serviceProvider
não forneceu um serviço para IXamlTypeResolver
- ou -
O valor member
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 gravadores XAML, um provedor de serviços adequado está disponível. Um contexto de esquema XAML inválido pode ter o efeito colateral do mapeamento de tipo de quebra 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 ser o nome de membro simples e seu tipo de propriedade fornecido como MemberType, em vez de Member fornecer um nome completo nomembro do tipo.
de formulário. O resolvedor de tipos ainda atua, mas nesse caso o Member e MemberType são basicamente combinados: memberFullName = MemberType.FullName + "." + Member
.