此代码在WP8.0中工作,但在WP8.1通用应用程序中我收到了错误。
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
//Some Statements
}
异常
重写"protected"继承成员"Windows.UI.Xaml.FrameworkElement.OnApplyTemplate()时无法更改访问修饰符
"如果类试图重写在引用元数据中定义的标记为受保护的内部的方法,也可能发生错误CS0507。在这种情况下,重写方法应标记为受保护。"
- 来源:https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0507
因此,只需从重写方法中删除"internal"关键字,并仅将其保留为"protected"即可。
重写方法时不可能更改可见性修饰符。OnApplyTemplate
在基类中被定义为protected
,因此您需要以相同的方式声明它:
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
//Some Statements
}
在不太可能的情况下,您需要从类外部访问此方法,您可以通过声明另一个公共方法来调用它:
public void ApplyTemplate()
{
this.OnApplyTemplate();
}
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
//Some Statements
}