Я новичок в C#, и у меня возникла небольшая проблема с вызовом функции из метода Main()
.Функция вызова из Main()
class Program
{
static void Main(string[] args)
{
test();
}
public void test()
{
MethodInfo mi = this.GetType().GetMethod("test2");
mi.Invoke(this, null);
}
public void test2()
{
Console.WriteLine("Test2");
}
}
Я получаю ошибку компиляции в test();
:
Ссылка на объект необходим для не-статического поля.
Я еще не совсем понимаю эти модификаторы, но что я делаю неправильно?
Что я действительно хочу сделать, это код test()
внутри Main()
, но он дает мне ошибку, когда я это делаю.
Поскольку сообщение об ошибке говорит вам, что вам нужна ссылка на объект для вызова нестатического члена. Поэтому создайте ссылку на объект. – Servy
Из метода? Как можно сделать объект из метода? или вы имеете в виду, что я должен поставить тест() в новый класс? – Arbitur
Вам нужен экземпляр типа, в котором этот метод определен, чтобы вызвать метод экземпляра этого типа. Точно так же верно в obj-c, я уверен. – Servy