委托适配
例子如下:
class A
{public void Fun_A(int a)
{
Console.WriteLine("Fun_A");
}
public void Fun_A1()
{
Fun_A(0);
}
}
class B
{
public void Fun_B()
{
Console.WriteLine("Fun_B");
}
}
class S
{
public delegate void S_weituo();
public S_weituo weituo1;
}
static void Main(string[] args)
{
A a1=new A();
B b1=new B();
S s1 = new S();
//Fun_A1是为了适配委托而出来的。
s1.weituo1 += a1.Fun_A1;
//等号前的一对括号,是定义的无参适配函数的参数,目前是空。返回值是根据被适配的函数来的。
s1.weituo1 += (() => { a1.Fun_A(0); });//此语句的功能和上面相同,不过,这种方法不用手动定义适配函数,系统自动生成
s1.weituo1 += b1.Fun_B;
s1.weituo1();
}
A a1=new A();
B b1=new B();
S s1 = new S();
//Fun_A1是为了适配委托而出来的。
//s1.weituo1 += a1.Fun_A1;
//等号前的一对括号,是定义的无参适配函数的参数,目前是空。返回值是根据被适配的函数来的。
s1.weituo1 += (() => { a1.Fun_A(0); });
s1.weituo1 += b1.Fun_B;
s1.weituo1();