MarkupExtension 类的反编译如下所示:
[TypeForwardedFrom("WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]
public abstract class MarkupExtension
{
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
protected MarkupExtension()
{
}
public abstract object ProvideValue(IServiceProvider serviceProvider);
}
如您所见,它可以作为接口实现,但它是一个类。WPF 团队为什么要这样设计它?而且,在 Silverlight 中,它是一个接口。