StaticExtension.ProvideValue(IServiceProvider) Método

Definición

Devuelve el valor de objeto que se va a establecer en la propiedad donde se aplica esta extensión.Returns an object value to set on the property where you apply this extension. Para StaticExtension, el valor devuelto es el valor estático que se evalúa para el miembro estático solicitado.For StaticExtension, the return value is the static value that is evaluated for the requested static member.

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

Objeto que puede proporcionar servicios para la extensión de marcado.An object that can provide services for the markup extension. Se espera que el proveedor de servicios proporcione un servicio que implemente una resolución de tipos (IXamlTypeResolver).The service provider is expected to provide a service that implements a type resolver (IXamlTypeResolver).

Devoluciones

Valor estático que se va a establecer en la propiedad donde se aplica la extensión.The static value to set on the property where the extension is applied.

Excepciones

El valor de member para la extensión es null en el momento de la evaluación.The member value for the extension is null at the time of evaluation.

Alguna parte de la cadena member no se analizó correctamente.Some part of the member string did not parse properly O bien-or- serviceProvider no proporcionó un servicio para IXamlTypeResolverserviceProvider did not provide a service for IXamlTypeResolver

O bien-or- El valor de member no se resolvió como un miembro estático.member value did not resolve to a static member.

serviceProvider es null.serviceProvider is null.

Comentarios

Este método admite características del lenguaje XAML y, por lo general, no está diseñado para llamarse directamente.This method supports XAML language features and is generally not intended to be called directly. La implementación del procesador XAML usa este método para controlar correctamente x:Static los valores de la extensión durante la creación del objeto.The XAML processor implementation uses this method to correctly handle the x:Static extension values during object creation.

Esta implementación se basa en los servicios que se basan en el serviceProviderpasado.This implementation relies on services that are based on the passed serviceProvider. serviceProviderno debe ser null.serviceProvider must not be null. Se serviceProvider espera que el objeto devuelva un servicio IXamlTypeResolverpara.The serviceProvider object is expected to return a service for IXamlTypeResolver. En el escenario normal de uso de los lectores y escritores XAML predeterminados, hay disponible un proveedor de servicios adecuado.Under the normal scenario of use by the default XAML readers and XAML writers, a suitable service provider is available. Un contexto de esquema XAML no válido podría tener el efecto secundario de romper la asignación de IXamlTypeResolver tipos y, por tanto, el servicio.An invalid XAML schema context might have the side effect of breaking type mapping and thus the IXamlTypeResolver service.

En .NET Framework 4.NET Framework 4 Member , StaticExtension admite un modo alternativo en el que puede devolver un miembro estático en función de ser el nombre de miembro simple y su tipo MemberTypede propiedad proporcionado Member como, en lugar de proporcionar un nombre completo con el formato. tipo de . miembro.In .NET Framework 4.NET Framework 4, StaticExtension supports an alternate mode whereby it can return a static member based on Member being the simple member name and its owning type supplied as MemberType, rather than Member providing a full name in the form type.member. La resolución de tipos sigue actuando, pero en este caso Member , y MemberType se combinan básicamente: memberFullName = MemberType.FullName + "." + Member.The type resolver still acts, but in this case the Member and MemberType are basically combined: memberFullName = MemberType.FullName + "." + Member.

Se aplica a