System.Delegate.CreateDelegate 方法 (Type, Object, String, Boolean)
方法描述
创建指定类型的委托,该委托表示要按指定的大小写敏感度对指定类实例调用的指定实例方法。
语法定义(C# System.Delegate.CreateDelegate 方法 (Type, Object, String, Boolean) 的用法)
public static Delegate CreateDelegate( Type type, Object target, string method, bool ignoreCase )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
type | System-Type | 要创建的委托的 Type。 |
target | System-Object | 类实例,对其调用 method。 |
method | System-String | 委托要表示的实例方法的名称。 |
ignoreCase | System-Boolean | 一个布尔值,它指示在比较方法名称时是否忽略大小写。 |
返回值 | System.Delegate | 指定的类型的委托,表示要对指定的类实例调用的指定的实例方法。 |
提示和注释
此方法只为实例方法创建委托。 实例方法是指与类的实例相关联的方法;静态方法是指与类本身相关联的方法。
此方法重载等效于调用 CreateDelegate(Type, Object, String, Boolean, Boolean) 方法重载并为 throwOnBindFailure 指定 true。
注意
从 .NET Framework 2.0 版 Service Pack 1 开始,如果已授予调用方带有 ReflectionPermissionFlag.RestrictedMemberAccess 标志的 ReflectionPermission,并且非公共方法的授予集限制为调用方的授予集或其子集,则此方法可用于访问非公共方法。 (请参见 反射的安全注意事项。)
若要使用此功能,您的应用程序应面向 .NET Framework 3.5 版 或更高版本。
System.Delegate.CreateDelegate 方法 (Type, Object, String, Boolean)例子
异常
异常 | 异常描述 |
---|---|
ArgumentNullException |
|
ArgumentException |
|
MissingMethodException | 未找到 type 的 Invoke 方法。 |
MethodAccessException | 调用方无权访问 method。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。