Я пытаюсь создать простой обобщенный 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();