ashu2188 Ответов: 3

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


привет, ребята...у меня есть статический метод, который вызывается javascript,
теперь я хочу вызвать другой метод на стороне сервера из этого статического метода..
 public static  string getData(string _mobileno)
        {
            if (_mobileno == null || _mobileno.Length == 0)
            {
                return String.Empty;
            }
            else
            {
                OleDbConnection conn = null;
                string cnstring = ConfigurationSettings.AppSettings["ConnectionString"];
                conn = new OleDbConnection(cnstring);
                string _strQry = "Select distinct VISITOR_NAME from VISITOR_REG where MOBILE_NO=" + _mobileno+"";
                conn.Open();
                OleDbCommand cmd = new OleDbCommand(_strQry, conn);
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("MOBILE_NO", _mobileno);
                string name = Convert.ToString(cmd.ExecuteScalar());
                setvalue(_mobileno);
                return name;
                

}


когда я называю это setvalue..это дает мне ошибку

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

помоги мне решить эту проблему...

Wayne Gaylard

Я не знаю, кто тебя унивотировал, это того не заслуживает.

3 Ответов

Рейтинг:
5

lw@zi

Какой класс содержит этот метод? Можете ли вы опубликовать определение метода для него? Вам нужно получить доступ к этому методу, используя этот объект класса.


Рейтинг:
13

Sergey Alexandrovich Kryukov

Вы не можете продолжать разработку, пока не узнаете, что такое тип и что такое экземпляр. Это твоя проблема.
Методы (нестатические) методы работают с экземплярами. Статические методы не имеют ссылки на экземпляр (передаваемый неявно как "this" всем методам экземпляра), поэтому синтаксис вызова использует имя типа. В результате статические методы не могут использовать методы экземпляра (нет известного экземпляра для передачи). То же самое происходит и со свойствами (они также являются методами, через аксессоры. Подсказка: синтаксис вызова метода экземпляра таков: instanceVariableName.MethodName(methodParameters).

—СА


Albin Abel

Если голосование будет статичным, то по умолчанию все ответы покажут 5? :)

Sergey Alexandrovich Kryukov

Спасибо, но использование этой техники вызовет некоторые ошибки. Лучше держать его в поле экземпляра - так будет безопаснее.
--СА

Espen Harlinn

Хорошая точка :)

Sergey Alexandrovich Kryukov

- Спасибо, Эспен.
--СА

Рейтинг:
0

Wayne Gaylard

Метод SetValue должен быть объявлен статическим, или вам нужно создать экземпляр класса, к которому принадлежит метод SetValue, и вызвать метод из этого экземпляра. В этом случае я думаю, что объявление SetValue как статического было бы правильным решением.

Надеюсь, это поможет