StaticExtension.ProvideValue(IServiceProvider) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个要在应用此扩展的属性上设置的对象值。 对于 StaticExtension,返回值是针对请求的静态成员所计算的静态值。
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
参数
- serviceProvider
- IServiceProvider
可为标记扩展提供服务的对象。 服务提供商应提供可实现类型解析程序 (IXamlTypeResolver) 的服务。
返回
要在应用了扩展的属性上设置的静态值。
例外
计算时,扩展的 member
值为 null
。
serviceProvider
为 null
。
注解
此方法支持 XAML 语言功能,通常不打算直接调用。 XAML 处理器实现使用此方法在创建对象期间正确处理 x:Static
扩展值。
此实现依赖于基于传递的 serviceProvider
的服务。
serviceProvider
不得为 null
。 对象 serviceProvider
应返回 的 IXamlTypeResolver服务。 在默认 XAML 读取器和 XAML 编写器使用的正常情况下,可以使用合适的服务提供商。 无效的 XAML 架构上下文可能会产生中断类型映射的副作用,从而导致 IXamlTypeResolver 服务中断。
在 .NET Framework 4 中, 支持一种备用模式,StaticExtension通过该模式,它可以返回静态成员,该模式基于Member作为 简单成员名称及其所属类型提供为 MemberType,而不是Member在表单类型.
成员中提供全名。 类型解析程序仍然有效,但在这种情况下, Member 和 MemberType 基本组合在一起: memberFullName = MemberType.FullName + "." + Member
。