mein Problem ist folgendes:Kompilierung Fehler CS0176 auf nicht statische Methode (statisches Element nicht zugegriffen werden kann)
wenn ich versuche, meine C# apps zu kompilieren es in diese Ausnahme aus:
Statischer Member ' ResponseManager.manage (Response) 'kann nicht mit einer Instanzreferenz auf zugegriffen werden; qualifizieren sie mit einem Typnamen anstelle
auf dieser
ResponseManager responseManager = new ResponseManager();
responseManager.manage(response);
Wie Sie verwende ich eine neue Instanz des ResponseManager sehen können.
hier ist sein „verwalten“ Methode Erklärung:
public void manage(Response response)
ich in Projekt überprüft und es ist die einzige Methode, mit diesem Namen, sie ist nicht statisch und ResponseManager haben keine statischen Felder/Methoden und Trotzdem wird es nicht kompiliert.
Wenn ich versuche, meine Methode überall in meinem Code (Deklaration und Verwendung) Ich erhalte den folgenden Fehler zu benennen:
ResponseManager keine Definition für ‚sometest‘ enthalten und keine Erweiterungsmethode ‚sometest‘ Annahme könnte ein erstes Argument vom Typ ‚ResponseManager‘ gefunden werden (möglicherweise fehlt eine using -Direktive oder ein Assemblyverweis?)
ich hoffe, dass ich genug Informationen zur Verfügung gestellt mich, dies zu beheben. Vielen Dank!
Edit:
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);
}
}
}
Können Sie mehr Code bereitstellen? Mindestens ResponseManager-Klasse. – pablocity
Haben Sie eine andere ResponseManager-Klasse in Ihrer Lösung? Wählen Sie die Zeile 'responseManager.manage (response); 'und setzen Sie den Cursor auf manage und F12. Geht es um die Klasse und Methode, die Sie erwarten? – Stuart
@Stuart es ist das einzige mit diesem Namen und dieser Methode (und yup es geht zur richtigen Methode) – mJehanno