Почему я не могу назвать открытый метод в другом классе?

Вы создаете новый объект, используя type, wich, selected и hovered

const type = 'value of type';
const which = 'value of which';
const selected = {propOfSelected:'value1',sharedProp:'value1'};
const hovered = {sharedProp:'value2',newProp:'value of new prop'};
console.log({ type, which, selected: { ...selected, ...hovered } })

[1110 ] Более подробную информацию об этом можно найти здесь

12
задан Coral Doe 26 September 2012 в 09:49
поделиться

4 ответа

Вы пытаетесь назвать метод экземпляра для класса. Для вызова метода экземпляра для класса, необходимо создать экземпляр, на котором можно назвать метод. Если Вы хотите звонить, метод на неэкземплярах добавляют статическое ключевое слово. Например,

class Example {
  public static string NonInstanceMethod() {
    return "static";
  }
  public string InstanceMethod() { 
    return "non-static";
  }
}

static void SomeMethod() {
  Console.WriteLine(Example.NonInstanceMethod());
  Console.WriteLine(Example.InstanceMethod());  // Does not compile
  Example v1 = new Example();
  Console.WriteLine(v1.InstanceMethod());
}
39
ответ дан 2 December 2019 в 03:00
поделиться

Это кажется, что Вы не инстанцируете своего класса. Это - основная причина, я получаю "ссылку на объект, требуется" ошибка.

MyClass myClass = new MyClass();

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

myClass.myMethod();

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

12
ответ дан 2 December 2019 в 03:00
поделиться

Например, 1 и 2 необходимо создать статические методы:

public static string InstanceMethod() {return "Hello World";}

Затем, например, 3 Вам нужен экземпляр Вашего объекта вызвать метод:

object o = new object();
string s = o.InstanceMethod();
2
ответ дан 2 December 2019 в 03:00
поделиться

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

GradeBook myGradeBook = new GradeBook();

Затем назовите метод на obect, который Вы просто создали.

myGradeBook.[method you want called]
4
ответ дан 2 December 2019 в 03:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: