Функция не найдена в текущем контексте - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь вызвать функцию, но постоянно получаю сообщение о том, что ее нет в текущем контексте. Это для задания класса. Я не уверен, почему он не распознает функцию.

using System;               
public class Program
{

    public int W(int a, int b)
    {   
        return 0;   
    }

    public static void Main()   
    {
        int j= W(1,1);
    }
}

Ответы [ 2 ]

2 голосов
/ 23 апреля 2019

То, что вы видите, это

Ошибка компилятора CS0120

Ссылка на объект требуется для нестатического поля, метода или свойство 'member'

Чтобы использовать нестатическое поле, метод или свойство, необходимо сначала создайте экземпляр объекта.

Решение

Изменить

public int W(int a, int b)

до

public static int W(int a, int b)

По сути, вы не можете вызвать членов экземпляра из статического метода без экземпляра


Дальнейшее чтение

статический (C # Reference)

Статические классы и члены статических классов (Руководство по программированию в C #)

Конструкторы экземпляров (Руководство по программированию в C #)

0 голосов
/ 23 апреля 2019

в статическом методе вы должны использовать статический член, иначе он не найден в текущем контексте

, поэтому вы должны ввести static перед вашим типом (int) и затем вызвать его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...