C# 非静态方法上的编译错误CS0176(无法访问静态成员)

C# 非静态方法上的编译错误CS0176(无法访问静态成员),c#,visual-studio-2017,C#,Visual Studio 2017,我的问题如下: 当我尝试编译我的c#应用程序时,它会遇到以下异常: 无法访问静态成员“ResponseManager.manage(Response)” 引用实例;改为使用类型名称限定它 关于这个 ResponseManager responseManager = new ResponseManager(); responseManager.manage(response); 如您所见,我正在使用ResponseManager的一个新实例 以下是他的“管理”方法的声明: 公共作废管理(响应)

我的问题如下:

当我尝试编译我的c#应用程序时,它会遇到以下异常:

无法访问静态成员“ResponseManager.manage(Response)” 引用实例;改为使用类型名称限定它

关于这个

ResponseManager responseManager = new ResponseManager();
responseManager.manage(response);
如您所见,我正在使用ResponseManager的一个新实例

以下是他的“管理”方法的声明:

公共作废管理(响应)

我签入了project,它是唯一一个使用此名称的方法,她不是静态的,ResponseManager没有任何静态字段/方法,但它不会编译

当我试图在代码中的任何地方(声明和用法)重命名我的方法时,我得到以下错误:

ResponseManager不包含“sometest”和“no”的定义 扩展方法“sometest”接受类型为的第一个参数 找不到“ResponseManager”(您是否缺少使用 指令或组件引用?)

我希望我提供了足够的信息来帮助我解决这个问题。 非常感谢


编辑:

public class ResponseManager
{

    TransactionDAO transactionDAO = new TransactionDAO();
    LignesDAO ligneDAO = new LignesDAO();
    SimDAO simDAO = new SimDAO();
    MailSender mailSender = new MailSender();
    HttpClient httpClient = new HttpClient();
    ApplicationDAO appDAO = new ApplicationDAO();


    //RENAME !!!!!!!!  
    public void manage(Response response)
    {

        if (response.responseStatus.status == "SUCCESS")
        {
            transactionDAO.updateTransactionById(response.header.transactionId, response.responseStatus.status);

            string type = transactionDAO.getTransactionTypeById(response.header.transactionId);

            if(type != null) { 

                switch (type) {
                    case "activate":
                        ligneDAO.setActivatedSim(response.simIdendity.simSerial);
                        //simDAO.setActivatedSim(response.simIdendity.simSerial);


                        break;
                    case "suspend":
                        ligneDAO.setSuspendedSim(response.simIdendity.simSerial);
                        //simDAO.setSuspendedSim(response.simIdendity.simSerial);


                        break;
                    case "reactivate":
                        ligneDAO.setActivatedSim(response.simIdendity.simSerial);
                        //simDAO.setActivatedSim(response.simIdendity.simSerial);

                        break;
                    case "detail-subscription":

                        break;
                    case "detail-sim":
                        //Mapping between Response and Sim classes


                        break;
                    case "bar" :

                        break;
                    case "unbar" :

                        break;
                }
            }

            int appId = transactionDAO.getIdAppFromTransactionId(response.header.transactionId);

            string url = appDAO.getUrlFromAppId(appId);

            httpClient.send(null, url);

        }
        else 
        {
            transactionDAO.updateTransactionById(response.header.transactionId, response.responseStatus.status, response.responseStatus.errorCode);

            string type = transactionDAO.getTransactionTypeById(response.header.transactionId);

            mailSender.createTransatelProvisionningErrorMail(response.header.transactionId, response.simIdendity.simSerial, response.simIdendity.msisdn, type, response.responseStatus.errorCode, response.responseStatus.reason);
        }

    }

}

如果确定问题不在代码中,请尝试卸载并重新加载项目或重新启动VS2017。它有时能解决问题。请提供ResponseManager的代码。

您可以尝试使用干净的解决方案。构建>清洁溶液


您还可以尝试删除解决方案中的所有obj文件夹并重新生成解决方案。

能否提供更多代码?至少有ResponseManager类。解决方案中是否有其他ResponseManager类?如果选择行
responseManager.manage(响应)
并将光标放在manage和F12上。它是否属于您期望的类和方法?@Stuart它是唯一一个具有此名称和此方法(是的,它属于正确的方法)的方法尝试了清理解决方案,删除了所有obj文件夹?@Stuart我尝试了自动清理,它是否自动删除了所有obj文件夹?我已经尝试重新启动计算机并用Rider启动了它(jetbrain的C#ide)根据提供的信息,我认为它应该可以正常工作。解决方案中是否有其他可能包含其他ResponseManager类的项目参考?手动清理解决方案刚刚完成了工作,谢谢,尽管欢迎!