##主要功能##
var action = new action<School>((x1) =>
{ Console.WriteLine("Hello School");
x1.SchoolMethod(22);
x1.SchoolMethod2(33,"Second Method");
});
action.Invoke(new School());
##课堂学校##
class School
{
public void SchoolMethod(int x)
{
Console.WriteLine($"{x}");
}
public void SchoolMethod2(int x,string str)
{
Console.WriteLine($"SchoolMethod2 {x} {str}");
}
}
由于lambda表达式由编译器创建的方法
private static void SpecialMethodToWhichactionRefers(School school)
{
school.SchoolMethod(13);
school.SchoolMethod2(22,"Bob");
}
我正在了解action
代表。我的第一个问题是关于Main Function中使用的“ action”变量。它是指编译器生成的SpecialMethodToWhichactionRefers吗?
我想问的另一个问题是将action与Classname一起使用的原因是什么。在学习过程中,我主要看到action的int,string等示例。当我们将这种类型的参数称为action时,则表示具有int和string参数的方法。我不知道为什么需要将Classname传递给action的原因。感谢您的指导。