c# – ‘密封类中的受保护成员’警告(单例类)

c# – ‘密封类中的受保护成员’警告(单例类),第1张

概述我已经实现了一个单例类,并且不断收到警告,我正在编写的方法是一个’在密封类中声明的新受保护成员’.它不会影响构建,但我真的不想忽略警告,以防以后出现问题?我理解一个密封类是一个不能被继承的类 – 所以它的方法不能被覆盖,但我仍然不明白为什么下面的代码会给我警告(是因为使用了单例设计?): namespace WPFSurfaceApp{public sealed class Presentat 我已经实现了一个单例类,并且不断收到警告,我正在编写的方法是一个’在密封类中声明的新受保护成员’.它不会影响构建,但我真的不想忽略警告,以防以后出现问题?我理解一个密封类是一个不能被继承的类 – 所以它的方法不能被覆盖,但我仍然不明白为什么下面的代码会给我警告(是因为使用了单例设计?):
namespace WPFSurfaceApp{public sealed class PresentationManager{    PresentationManager()    {    }    protected voID Methodname()    {    }    public static PresentationManager Instance    {        get        {            return nested.instance;        }    }    class nested    {        // Explicit static constructor to tell C# compiler        // not to mark type as beforefIEldinit        static nested()        {        }        internal static Readonly PresentationManager instance = new PresentationManager();    }}

编辑:警告是关于Methodname()方法.
编辑:将public voID Methodname()更改为protected voID Methodname()

解决方法 警告是因为受保护在无法继承的类中没有意义.对于密封类,它在逻辑上与private完全相同.

这本身并不是一个错误,但是编译器试图引起你注意这样一个事实,即保护它而不是私有它将不会给你带来任何好处,也可能没有做你想要的事情(如果你打算让它可见子类,不能存在于密封类中).

所以,是的,您可以放心地忽略它,但在密封类中保护成员在逻辑上是不一致的.

MSDN输入Compiler Warning CS0628

总结

以上是内存溢出为你收集整理的c# – ‘密封类中的受保护成员’警告(单例类)全部内容,希望文章能够帮你解决c# – ‘密封类中的受保护成员’警告(单例类)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1240833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存