反射类所使用的设计模式
System.Reflection 命名空间中最常用的方法都使用统一的模式。 Module、Type 和 MemberInfo 类的成员使用下表中所示的设计模式。
成员签名 |
说明 |
---|---|
MyInstance[] FindXxx(filter, filterCriteria) |
查找并返回经过筛选的类型列表,或者在当前类型没有实现任何匹配筛选器的类型的情况下返回空数组。 |
MyInstance GetXxx(<parameters>) |
返回由 <parameters> 唯一指定的类型。 如果不存在这样的类型,成员将返回空引用(在 Visual Basic 中为 Nothing)。 请注意,<parameters> 唯一地指定一个实例。 |
MyInstance[] GetXxxs() |
返回所有公共类型。 如果不存在公共类型,成员将返回空数组。 |
MyInstance[] GetXxxs(<parameters>) |
返回由 <parameters> 指定的所有类型。 如果不存在这样的类型,成员将返回空数组。 请注意,<parameters> 并不一定指定唯一的实例。 |
另一个常用的设计模式是使用委托。 它们通常在反射中用来支持对返回对象数组的方法的结果集进行筛选。