《亮剑》中李云龙奇袭日本炮楼穿的军服是从哪来的?显然不是临时找裁缝赶制的,肯定是从俘虏身上扒下来的。好,那我们就来补充一点《亮剑》的镜头来看看什么是反射。
一天傍晚,一队伪军士兵在乡间小路上蹒跚地走着,他们的任务是进行搜索,并伺机扫荡根据地,没想到中了八路军的埋伏,被俘虏,听候处置。
这件事情被上报到老李那里,于是老李立刻开始审问他们————注意,反射开始了。
“哪的?”
“伪军蒋德龙部1团2排。”
“叫什么名字?”
“李茂才。”
“这次执行什么任务?”
“潜入贵军阵地搜索并实施清乡扫荡。”
……
一番软硬兼施之后,老李掌握了这队伪军的所有信息,而伪军身上的行头也被换了下来,换上了专门为战俘准备的棉衣。老李决定使用他们的方式,先发制人,他换上衣服之后就来连夜潜入敌方阵地,敌人不是想扫荡我们么,那我们就用他们的方式,他和战友潜入地方阵地后冷静的进行了周密的观察,并通过有效地部署和协同友军楚云飞部,成功地引导我军取得了这次重大胜利。
现在看一下代码吧,首先,我们得有个倒霉的伪军士兵做引子:
1 namespace Japan 2 { 3 internal class weiJunArmy 4 { 5 public string Name{get;set;} 6 public string Search(string destination) 7 { 8 return "OK,开始扫荡!"; 9 } 10 } 11 }
然后,我们用代码来实现李云龙所完成的行动:
1 internal class baLuArmy 2 { 3 public static void Action(object soldier) 4 {
//获取士兵的所在部队番号 5 Type type=soldier.GetType();
//利用伪军的信息创建一个伪军类型的老李 6 object liYunLong=Activator.CreateInstance(type); 7 MethodInfo methodInfo=type.GetMethod("Search"); 8 Console.WriteLine(methodInfo.Invoke(liYunLong,new object[]{"Position"})); 9 } 10 }
这段代码很好理解,第5行我们审问了被俘虏的伪军士兵并获得了他提高的信息和服装,然后让老李用他的服装化妆成伪军士兵。第7行,老李以牙还牙,绑定伪军的方法消灭敌人!接下来,老李潜入敌方阵地并引导了我军发起总攻。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------文章出自《.Net面试宝典》

浙公网安备 33010602011771号