phil.o
Просто объявите метод как public
:
public static void greet()
Более подробная информация об уровнях доступности:
Уровни Специальных Возможностей - Справочник По C# | Microsoft Docs[
^]
Правка: внимательно перечитайте свой код, когда вы определяете метод как
static
, вы получаете доступ к нему не из экземпляра класса, а из самого класса. Так что у вас есть два варианта:
Либо вы сохраняете метод статичным, но соответствующим образом изменяете свой вызов:
using System;
namespace classes
{
public class Helper
{
public static void Greet()
{
Console.WriteLine("Hello");
}
}
class Caller
{
private static void Main(string[] args)
{
Helper.Greet();
}
}
}
Это самый разумный способ, так как А) вы не используете в методе никакой переменной экземпляра. б) это упрощает использование метода (вам не нужно создавать экземпляр вспомогательного класса).
Или вы делаете метод методом экземпляра:
using System;
namespace classes
{
public class Helper
{
public void Greet()
{
Console.WriteLine("Hello");
}
}
class Caller
{
private static void Main(string[] args)
{
var instance = new Helper();
instance.Greet();
}
}
}
Обратите внимание, что я также исправил случай класса и метода в соответствии с общепринятыми правилами оболочки C#.