此代码在WP8.0中工作,但在WP8.1 Universal Apps中我收到了错误。
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
//Some Statements
}
异常
覆盖'保护'时无法更改访问修饰符继承成员' Windows.UI.Xaml.FrameworkElement.OnApplyTemplate()
答案 0 :(得分:7)
“如果类试图覆盖在引用的元数据中定义的标记为 protected internal 的方法,也会出现错误CS0507。在这种情况下,重写方法应标记为保护 的“。
因此,只需从覆盖方法中删除“internal”关键字,并将其仅保留为“受保护”。
答案 1 :(得分:2)
覆盖方法时无法更改可见性修饰符。 OnApplyTemplate
在基类中定义为protected
,因此您需要以相同的方式声明它:
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
//Some Statements
}
在不太可能的情况下,您需要从课外访问此方法,您可以通过声明另一个公共方法来调用它:
public void ApplyTemplate()
{
this.OnApplyTemplate();
}
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
//Some Statements
}