MRHals Gospodin Ответов: 3

Ссылка на объект Dnspy требуется для нестатического поля abso.load()


Привет, я новичок здесь, Извините, если я публикую неправильно или что-то подобное.
У меня есть некоторая работа в dnspy, чтобы объединить assembly-csharp .dll-файл и управлять им, но мне нужно внутренне идти, потому что я избегаю быть, чтобы найти его, и теперь мне нужно просто загрузить его, но он дает это.

{
Absolutly.Abso.Load();
}

Но моя консоль не будет дополнять его и давать мне ошибку нестатического поля, метода или свойства. Есть идеи, как я могу это исправить?

Спасибо за чтение и Ваше время :)

Что я уже пробовал:

Добавив внутрь (чис)
Удаление ; или добавление ;

3 Ответов

Рейтинг:
23

OriginalGriff

Ошибка довольно явная:

An object reference is required for the non-static field abso.load()
Это означает, что класс Abso объявляет вызываемый метод Load подобный этому:
public void Abso()
   {
   ...
   }
А это значит, что это и есть Ан instance method: он нуждается в экземпляре Abso класс на работу.
Не обращайте внимания на компьютеры и подумайте об автомобилях:
What colour is your car? 
What colour is my car? 
What colour is this car? 
What colour is that car?
Это все правильные вопросы, потому что они указывают на автомобиль, который вас интересует - потому что все автомобили не одного цвета, вы не можете спросить:
What colour is a car?
И если вы попытаетесь, люди будут смотреть на вас довольно странно!
И наоборот, вы можете спросить:
How many wheels has a car?
потому что все автомобили имеют четыре колеса - если бы у них было два, они были бы мотоциклом!

"What colour?" это instance вопрос - он требует экземпляра автомобиля ("ваша машина", "моя машина", "вон та машина, рядом с фонарным столбом"), прежде чем вы сможете его задать. "How many wheels?" это static вопрос - вам не нужно указывать транспортное средство, чтобы получить ответ.

В C# у нас есть то же самое - an instance method требуется определенный экземпляр класса, поскольку он может получить доступ к связанным с экземпляром данным, свойствам и методам, а также static method не имеет (и не может получить доступ ни к чему, что явно не объявлено как static либо, не обнаруживая и не создавая экземпляр класса).

Так что посмотри на свои Abso метод и решить, нужно ли ему получить доступ к данным, связанным с экземпляром, или нет.
Если это не так, то объявите его как static :
public static void Abso()
   {
   ...
   }

Если это так, то вызовите его через экземпляр:
Absolutly.Abso abso = new Absolutly.Abso();
abso.Load();


Рейтинг:
2

MRHals Gospodin

conflicts with the imported type 'Abso' in 'Assembly-CSharp


Maciej Los

Это не ответ! Пожалуйста, удалите его, чтобы избежать голосования вниз. Чтобы оставить комментарий, используйте виджет "есть вопрос или комментарий" под решением.

Рейтинг:
0

MRHals Gospodin

Теперь у меня есть проблема, я пытаюсь реализовать esp и управлять им сейчас, чтобы работать, но он не будет показывать esp box, это потому, что myb этого?

Absolutly.Abso abso = new Absolutly.Abso();
abso.Load();


Maciej Los

Это не ответ! Пожалуйста, удалите его, чтобы избежать голосования вниз. Чтобы оставить комментарий, используйте виджет "есть вопрос или комментарий" под решением.