Comparteix a través de


StaticExtension.ProvideValue(IServiceProvider) Método

Definición

Devuelve un valor de objeto para establecerlo en la propiedad donde se aplica esta extensión. Para StaticExtension, el valor devuelto es el valor estático que se evalúa para el miembro 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

Objeto que puede proporcionar servicios para la extensión de marcado. Se espera que el proveedor de servicios proporcione un servicio que implementa una resolución de tipo (IXamlTypeResolver).

Devoluciones

Valor estático que se debe establecer en la propiedad a la que se aplica la extensión.

Excepciones

El valor member de la extensión es null en el momento de la evaluación.

Alguna parte de la cadena member no se analizó correctamente

o bien

serviceProvider no proporcionó ningún servicio para IXamlTypeResolver

o bien

El valor member no se resolvió como un miembro estático.

serviceProvider es null.

Comentarios

Este método admite características del lenguaje XAML y, por lo general, no está pensado para llamarse directamente. La implementación del procesador XAML usa este método para controlar correctamente los valores de extensión durante la x:Static creación de objetos.

Esta implementación se basa en los servicios que se basan en el objeto pasado serviceProvider. serviceProvider no debe ser null. Se espera que el serviceProvider objeto devuelva un servicio para IXamlTypeResolver. En el escenario normal de uso de los lectores XAML predeterminados y escritores XAML, está disponible un proveedor de servicios adecuado. Un contexto de esquema XAML no válido podría tener el efecto secundario de la asignación de tipos importantes y, por tanto, el IXamlTypeResolver servicio.

En .NET Framework 4, StaticExtension admite un modo alternativo en el que puede devolver un miembro estático en Member función de ser el nombre de miembro simple y su tipo propietario proporcionado como MemberType, en lugar de Member proporcionar un nombre completo en elmiembro de tipo. de formulario. El solucionador de tipos sigue funcionando, pero en este caso el Member y MemberType se combinan básicamente: memberFullName = MemberType.FullName + "." + Member.

Se aplica a