每一个委派对象实际上就是一个方法包装器,当方法被调用时,受作用的对象被操作。MulticastDelegate类定义两个只读公共实例属性:Target和Method。给定一个委派对象引用,你就可以查询到它的这些属性。如果方法被回调,Target属性返回一个对将要操作的对象的引用。如果方法是静态的,则Target返回null。Method属性返回标示回调方法的System.Reflection.MethodInfo对象。 你可以用几种方式使用这些信息。一种方式是检查是否某个委派对象引用特定类型的实例方法: // Boolean DelegateRefersToInstanceMethodOfType( MulticastDelegate d, Type type) { return((d.Target != null) && d.Target.GetType == type); } // 你还应该编写代码检查是否回调方法由专门的名字(如FeedbackToMsgBox): // Boolean DelegateRefersToMethodOfName( MulticastDelegate d, String methodName) { return(d.Method.Name == methodName); } // |
鏀惰棌鎴愬姛鏌ョ湅鏀惰棌>>
正在阅读:介绍.NET中的委派(Delegates)之三介绍.NET中的委派(Delegates)之三
2004-02-14 09:34
出处:
责任编辑:pjl
键盘也能翻页,试试“← →”键