C#中调试解决CA1822、IDE0060和IDE0090消息警告

目录

1、警告现象

(1)显示的警告消息 ​编辑

2、消息警告CA1822的解决

(1)设为静态

3、消息警告IDE0090的解决

(1)使用new()

4、消息警告IDE0060的解决

(1)增加if (args is null),解除消息警告IDE0060

5、总结:

1、警告现象

C#中经常出现 CA1822、IDE0060和IDE0090消息警告,一般不影响编译生成,经常被忽略而不予处理。

本文章通过新建一个项目,同时出现CA1822、IDE0060和IDE0090消息警告,并通过修改和调试解除掉此消息警告。不是屏蔽和忽略。

using System;
using MR.Data;                          //使用using指令引入命名空间MR.Data

namespace MR.View
{
    class Program
    {
        static void Main(string[] args)
        {
            Model model = new Model();  //实例化MR.Data中的类Model
            model.GetData();            //调用类Model中的GetData()方法
        }
    }
}
namespace MR.Data                       //建立命名空间MR.Data
{
    class Model                         //实例化命名空间MR.Data中的类Model
    {
        public void GetData()
        {
            Console.WriteLine("明日之星网校:https://star.mingrisoft.com/");//输出字符串
            Console.ReadLine();
        }
    }
}
/*运行结果:
 明日之星网校:https://star.mingrisoft.com/    */

(1)显示的警告消息 

CA1822    Member 'GetData' does not access instance data and can be marked as static   ConsoleApp1 

IDE0060    删除未使用的参数 "args"    ConsoleApp1   
IDE0090    可简化 "new" 表达式    ConsoleApp1     

2、消息警告CA1822的解决

(1)设为静态

把GetData()设置为静态,并在调用GetData()时直接用类名,而不能使用类的对象。

        /*Model model = new Model();*/  //实例化MR.Data中的类Model,这一句变成了无用的语句,可以注释掉
            Model.GetData();            //调用类Model中的GetData()方法,改为使用类名直接调用而不是对象名
        }
    }
}
namespace MR.Data                       //建立命名空间MR.Data
{
    class Model                         //实例化命名空间MR.Data中的类Model
    {
        public static void GetData()

如果选择注释掉Model model = new Model();则消息警告IDE0090自动消失。

3、消息警告IDE0090的解决

(1)使用new()

删去构造函数new Model()而使用new (),并让Model model指向new ();

  Model model = new();  //实例化MR.Data中的类Model,这一句变成了无用的语句,可以注释掉

4、消息警告IDE0060的解决

(1)增加if (args is null),解除消息警告IDE0060

    static void Main(string[] args)
        {
            if (args is null)           //解除IDE0060消息警告
            {
                throw new ArgumentNullException(nameof(args));
            }

5、总结:

using System;
using MR.Data;                          //使用using指令引入命名空间MR.Data

namespace MR.View
{
    class Program
    {
        //[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:删除未使用的参数", Justification = "<挂起>")]
        static void Main(string[] args)
        {
            if (args is null)           //解除IDE0060消息警告
            {
                throw new ArgumentNullException(nameof(args));
            }
            /*Model model = new(); */   //实例化MR.Data中的类Model,这一句变成了无用的语句,可以注释掉
            Model.GetData();            //调用类Model中的GetData()方法,改为使用类名直接调用而不是对象名
        }
    }
}
namespace MR.Data                       //建立命名空间MR.Data
{
    class Model                         //实例化命名空间MR.Data中的类Model
    {
        public static void GetData()
        {
            Console.WriteLine("明日之星网校:https://star.mingrisoft.com/");//输出字符串
            Console.ReadLine();
        }
    }
}
/*运行结果:
 明日之星网校:https://star.mingrisoft.com/    */

猜你喜欢

转载自blog.csdn.net/wenchm/article/details/131152607
IDE