Помогите найти ошибку пожалуйста!
namespace Main
{
using System;
public class Program
{
public static void Main()
{
MyClass mcl = new MyClass();
mcl.func.Invoke();
Console.ReadKey();
}
}
public class MyClass
{
public Func<Func<string>> func;
public Func<string> func2;
string Method1()
{
return "Hello ";
}
string Method2()
{
return "World";
}
public MyClass()
{
func2 = Method1;
func2 = Method2;
Func<Func<string>> func = () => {
foreach (var item in func2.GetInvocationList())
{
Console.Write(((Func<string
Чувак, ты в конструкторе MyClass создаёшь новый экземпляр класса, и твой func по сути остаётся пустым.
А вообще я немного переписал этот код:
namespace Main
{
using System;
public class Program
{
public static void Main()
{
MyClass mcl = new MyClass();
mcl.func.Invoke();
Console.ReadKey();
}
}
public class MyClass
{
public Action func;
public Func<string> func2;
string Method1()
{
return "Hello ";
}
string Method2()
{
return "World";
}
public MyClass()
{
func2 = Method1;
func2 = Method2;
func = () =>
{
foreach (var item in func2.GetInvocationList())
{
Console.Write(item.DynamicInvoke());
}
};
}
}
}