ch5_2.cs
来自「《c#技术内幕代码》」· CS 代码 · 共 83 行
CS
83 行
using System;
public delegate void PrintAnObjectDelegate( object o );
class A
{
public A()
{
}
public void Print()
{
Console.WriteLine("I'm an A!");
}
}
class B
{
public B()
{
}
public void Print()
{
Console.WriteLine("I'm a B!");
}
}
class C
{
public C()
{
}
public void Print()
{
Console.WriteLine("I'm a C!");
}
}
class Printer
{
public PrintAnObjectDelegate dele;
public Printer()
{
dele = null;
}
public void DoPrint( object o )
{
if ( dele != null )
dele( o );
}
}
class CH5_2
{
public static void ObjPrint( object o )
{
if ( o is A )
{
(o as A).Print();
}
}
public static void Main()
{
Printer p = new Printer();
PrintAnObjectDelegate pao = new
PrintAnObjectDelegate(ObjPrint);
p.dele = pao;
A anA = new A();
B aB = new B();
C aC = new C();
p.DoPrint( anA );
p.DoPrint( aB );
p.DoPrint( aC );
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?