Не может ли implicity вернуть тип void в класс generi c? - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь создать простой обобщенный c класс, который должен принимать объект и делегат в качестве обобщенных c параметров. Я получаю следующую ошибку, когда привязываю метод к событию:

Невозможно неявно преобразовать тип 'void' в 'ConsoleApp3.test.Del'

Я не понимаю, почему я получаю эту ошибку, поскольку мой делегат возвращает void, а метод, присоединенный к событию, также возвращает void.

Это код:

interface ITerminable
    {
        int Param_1 { get; set; }
    }

    class test<T,F> where T:ITerminable,new() 
                    where F : Delegate,new()
    { 

        internal delegate void Del();
        internal static event Del Ev_fire;

        static T a = new T();
        static F b = new F();


        public static void InvokeEvent()
        {
            Console.WriteLine("Value not added !");

        }

        public static void Validate()
        {
            if (a.Param_1 < 0.5)
            {
                Console.WriteLine("Value Added");
                b.DynamicInvoke();
            }
            else
            {
                Ev_fire += InvokeEvent();

                Ev_fire?.Invoke();
            }
        }

    }

Ошибка в строке: Ev_fire += InvokeEvent();

1 Ответ

1 голос
/ 20 февраля 2020

попробуйте это: Ev_fire += InvokeEvent;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...