public partialclass_Default : System.Web.UI.Page
{
protectedvoidPage_Load(object sender, EventArgse)
{
Response.Write("老总讲话:大家请肃静,现在刚好08:00整,我们开始开会,请各个部门领导发言:<br/><br/>");
//定义存放Company类型的实力
Company[] CArray = new Company[3];
CArray[0] = new Manager();
CArray[0].Say("张经理:");
CArray[0].Foo();
CArray[1] = new Coder();
CArray[1].Say("李程序员:");
CArray[1].Foo();
CArray[2] = new Accountant();
CArray[2].Say("钱会计:");
CArray[2].Foo();
//Assemblyasm = Assembly.GetExecutingAssembly();
//Objectobj = asm.CreateInstance("Manaer", true).GetType();
//objectobj2 = Activator.CreateInstance("null","Manaer");
Type tp = Type.GetType("Coder"); //命名空间.类名
objectctemp = Activator.CreateInstance(tp); //通过反射创建类
MethodInfo mi = tp.GetMethod("Say");//方法的名称
MethodInfo m2=tp.GetMethod("Foo");
string[]a = {"反射调用:"};
mi.Invoke(ctemp, a);
m2.Invoke(ctemp, null);
}
}
//定义个公司类
classCompany
{
stringName = "";
publicvirtualvoidSay(string name)
{
this.Name= name;
}
publicvirtualvoidFoo()
{
//Response.Write(Name+ " 公司条例规定,不同岗位的工作人员,干好本职工作!");
HttpContext.Current.Response.Write(Name + " 公司条例规定,不同岗位的工作人员,干好本职工作!");
}
}
//定义个经理类
classManager : Company
{
stringName = "";
publicoverridevoidSay(string name)
{
//base.Say(name);
this.Name= name;
}
publicoverridevoidFoo()
{
HttpContext.Current.Response.Write(Name + " 开早会,给大家分配工作<br/><br/>");
}
}
//定义程序员类
classCoder : Company
{
stringName = "";
publicoverridevoidSay(string name)
{
//base.Say(name);
this.Name= name;
}
publicoverridevoidFoo()
{
HttpContext.Current.Response.Write(Name + " 根据经理早会的内容,我开始编写代码了\n\r<br/><br/>");
}
}
//定义财会类
classAccountant : Company
{
stringName = "";
publicoverridevoidSay(string name)
{
//base.Say(name);
this.Name= name;
}
publicoverridevoidFoo()
{
HttpContext.Current.Response.Write(Name + " 今天早会提到员工工资的事情了。而今天刚好是开工资的日子,我必须抓紧发工资,让员工好好干活!<br/>");
}
}