Мне трудно понять основные ошибки с помощью кода ниже:
class myClass
{
public void print(string mess)
{
Console.WriteLine(mess);
}
}
class myOtherClass
{
public static void print(string mess)
{
Console.WriteLine(mess);
}
}
public static class Test
{
public static void Main()
{
myClass mc = new myClass();
mc.print("hello");
myOtherClass moc = new myOtherClass();
moc.print("vhhhat?");
//This says I can't access static method in non static context, but am I not?
}
}
Я никогда не задумываюсь о причине, почему объявлял бы статический метод в нестационарном классе, поэтому почему .NET не будет генерировать ошибку исключения.
Кроме того,
moc.print("vhhhat?");
Это скажет, что я не могу получить доступ к статическому методу в нестационарном контексте, но Test и main являются статическими, что это значит?