警告 CS0114:“AnApp.AppDelegate.Self”隐藏了继承的成员
Warning CS0114: `AnApp.AppDelegate.Self' hides inherited member
今天我更新到 Xamarin.iOS 8.6.0.51。现在我收到以下警告:
Warning CS0114: AnApp.AppDelegate.Self' hides inherited member
MonoTouch.Foundation.NSObject.Self'. To make the current member
override that implementation, add the override keyword. Otherwise add
the new keyword (CS0114)
在我的 AppDelegate.cs
中,我定义了以下内容 property/field:
public static AppDelegate Self { get; private set; }
比起我以这种方式设置它以获取对应用程序委托的引用(如 this thread 中所建议的):
AppDelegate.Self = this;
这在更新前有效。我用它来实例化故事板中的一些视图控制器和其他一些东西(网络 activity 指示器,...)。我必须改变什么才能让它工作?我不再需要这个了,还是应该重命名 Self?
这意味着 AppDelegate
的基础 class 也有名为 Self
的成员,编译器警告您,您可能在不知不觉中隐藏了基础 class 成员。
如果您知道自己在做什么,那么您可以使用 new
关键字安全地抑制警告。
public static new AppDelegate Self { get; private set; }
这绝对没有任何区别,没有 new
关键字,您的应用程序也可以正常工作。它只是告诉 c# 编译器我有意为成员使用相同的名称,并且我有兴趣隐藏基础 class 成员。
今天我更新到 Xamarin.iOS 8.6.0.51。现在我收到以下警告:
Warning CS0114:
AnApp.AppDelegate.Self' hides inherited member
MonoTouch.Foundation.NSObject.Self'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword (CS0114)
在我的 AppDelegate.cs
中,我定义了以下内容 property/field:
public static AppDelegate Self { get; private set; }
比起我以这种方式设置它以获取对应用程序委托的引用(如 this thread 中所建议的):
AppDelegate.Self = this;
这在更新前有效。我用它来实例化故事板中的一些视图控制器和其他一些东西(网络 activity 指示器,...)。我必须改变什么才能让它工作?我不再需要这个了,还是应该重命名 Self?
这意味着 AppDelegate
的基础 class 也有名为 Self
的成员,编译器警告您,您可能在不知不觉中隐藏了基础 class 成员。
如果您知道自己在做什么,那么您可以使用 new
关键字安全地抑制警告。
public static new AppDelegate Self { get; private set; }
这绝对没有任何区别,没有 new
关键字,您的应用程序也可以正常工作。它只是告诉 c# 编译器我有意为成员使用相同的名称,并且我有兴趣隐藏基础 class 成员。