Вы должны увидеть сообщение компилятора:
Имя 'Добавить' не существует в текущем контексте
, которое говорит вам, что оно не имеет ни малейшего понятия, что Add
метод, о котором вы говорите;Add
- это статический метод в Some
, поэтому вам необходимо:
o1 = Some.Add;
o2 = Some.Subtract;
статические методы не доступны глобально;Вы можете получить доступ к статическим методам из текущего типа (и из базовых типов) только через их имя, но если это не связанный тип, вам нужно квалифицировать его как декларирующий тип.
В этот момент вам выдаст ошибку компилятора:
DelegatePrac.Some.Add (int, int) недоступен из-за уровня защиты
, которыйнамекает, что это приватный метод;поэтому добавьте к ним public
(или internal
):
public static void Add(int a, int b) {...}