Class Method<D>
Represents reflected method.
Implements
Namespace: DotNext.Reflection
Assembly: DotNext.Reflection.dll
Syntax
public sealed class Method<D> : MethodInfo, IMethod<D>, IMethod<MethodInfo, D>, IMember<MethodInfo, D>, IMember<MethodInfo>, ICustomAttributeProvider, IEquatable<MethodInfo> where D : MulticastDelegate
  Type Parameters
| Name | Description | 
|---|---|
| D | Type of delegate describing signature of the reflected method.  | 
      
Properties
| Improve this Doc View SourceAttributes
Gets the attributes associated with this method.
Declaration
public override MethodAttributes Attributes { get; }
  Property Value
| Type | Description | 
|---|---|
| MethodAttributes | 
CallingConvention
Gets a value indicating the calling conventions for this constructor.
Declaration
public override CallingConventions CallingConvention { get; }
  Property Value
| Type | Description | 
|---|---|
| CallingConventions | 
ContainsGenericParameters
Gets a value indicating whether the generic method contains unassigned generic type parameters.
Declaration
public override bool ContainsGenericParameters { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
CustomAttributes
Gets a collection that contains this member's custom attributes.
Declaration
public override IEnumerable<CustomAttributeData> CustomAttributes { get; }
  Property Value
| Type | Description | 
|---|---|
| IEnumerable<CustomAttributeData> | 
DeclaringType
Gets the class that declares this method.
Declaration
public override Type DeclaringType { get; }
  Property Value
| Type | Description | 
|---|---|
| DotNext.Reflection.Type | 
IsGenericMethod
Gets a value indicating whether the method is generic.
Declaration
public override bool IsGenericMethod { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
IsGenericMethodDefinition
Gets a value indicating whether the method is a generic method definition.
Declaration
public override bool IsGenericMethodDefinition { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
IsSecurityCritical
Gets a value that indicates whether the method is security-critical or security-safe-critical at the current trust level, and therefore can perform critical operations.
Declaration
public override bool IsSecurityCritical { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
IsSecuritySafeCritical
Gets a value that indicates whether the method is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code.
Declaration
public override bool IsSecuritySafeCritical { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
IsSecurityTransparent
Gets a value that indicates whether the current method is transparent at the current trust level, and therefore cannot perform critical operations.
Declaration
public override bool IsSecurityTransparent { get; }
  Property Value
| Type | Description | 
|---|---|
| Boolean | 
MemberType
Always returns 
Declaration
public override MemberTypes MemberType { get; }
  Property Value
| Type | Description | 
|---|---|
| MemberTypes | 
MetadataToken
Gets a value that identifies a metadata element.
Declaration
public override int MetadataToken { get; }
  Property Value
| Type | Description | 
|---|---|
| Int32 | 
MethodHandle
Gets a handle to the internal metadata representation of a method.
Declaration
public override RuntimeMethodHandle MethodHandle { get; }
  Property Value
| Type | Description | 
|---|---|
| RuntimeMethodHandle | 
MethodImplementationFlags
Gets method implementation attributes.
Declaration
public override MethodImplAttributes MethodImplementationFlags { get; }
  Property Value
| Type | Description | 
|---|---|
| MethodImplAttributes | 
Module
Gets the module in which the type that declares the method represented by the current instance is defined.
Declaration
public override Module Module { get; }
  Property Value
| Type | Description | 
|---|---|
| Module | 
Name
Gets name of this method.
Declaration
public override string Name { get; }
  Property Value
| Type | Description | 
|---|---|
| String | 
ReflectedType
Gets the class object that was used to obtain this instance.
Declaration
public override Type ReflectedType { get; }
  Property Value
| Type | Description | 
|---|---|
| DotNext.Reflection.Type | 
ReturnParameter
Gets information about the return type of the method, such as whether the return type has custom modifiers.
Declaration
public override ParameterInfo ReturnParameter { get; }
  Property Value
| Type | Description | 
|---|---|
| ParameterInfo | 
ReturnType
Gets the return type of this method.
Declaration
public override Type ReturnType { get; }
  Property Value
| Type | Description | 
|---|---|
| DotNext.Reflection.Type | 
ReturnTypeCustomAttributes
Gets the custom attributes for the return type.
Declaration
public override ICustomAttributeProvider ReturnTypeCustomAttributes { get; }
  Property Value
| Type | Description | 
|---|---|
| ICustomAttributeProvider | 
Methods
| Improve this Doc View SourceCreateDelegate(Type)
Creates a delegate of the specified type from this method.
Declaration
public override Delegate CreateDelegate(Type delegateType)
  Parameters
| Type | Name | Description | 
|---|---|---|
| DotNext.Reflection.Type | delegateType | The type of the delegate to create.  | 
      
Returns
| Type | Description | 
|---|---|
| Delegate | The delegate for this method.  | 
      
CreateDelegate(Type, Object)
Creates a delegate of the specified type from this method.
Declaration
public override Delegate CreateDelegate(Type delegateType, object target)
  Parameters
| Type | Name | Description | 
|---|---|---|
| DotNext.Reflection.Type | delegateType | The type of the delegate to create.  | 
      
| Object | target | The object targeted by the delegate.  | 
      
Returns
| Type | Description | 
|---|---|
| Delegate | The delegate for this method.  | 
      
Equals(MethodInfo)
Determines whether this method is equal to the given method.
Declaration
public bool Equals(MethodInfo other)
  Parameters
| Type | Name | Description | 
|---|---|---|
| MethodInfo | other | Other constructor to compare.  | 
      
Returns
| Type | Description | 
|---|---|
| Boolean | true if this object reflects the same method as the specified object; otherwise, false.  | 
      
Equals(Object)
Determines whether this method is equal to the given method.
Declaration
public override bool Equals(object other)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Object | other | Other constructor to compare.  | 
      
Returns
| Type | Description | 
|---|---|
| Boolean | true if this object reflects the same method as the specified object; otherwise, false.  | 
      
GetBaseDefinition()
Returns the method on the direct or indirect base class in which the method represented by this instance was first declared.
Declaration
public override MethodInfo GetBaseDefinition()
  Returns
| Type | Description | 
|---|---|
| MethodInfo | The first implementation of this method.  | 
      
GetCustomAttributes(Type, Boolean)
Returns an array of all custom attributes applied to this method.
Declaration
public override object[] GetCustomAttributes(Type attributeType, bool inherit)
  Parameters
| Type | Name | Description | 
|---|---|---|
| DotNext.Reflection.Type | attributeType | The type of attribute to search for. Only attributes that are assignable to this type are returned.  | 
      
| Boolean | inherit | true to search this member's inheritance chain to find the attributes; otherwise, false.  | 
      
Returns
| Type | Description | 
|---|---|
| Object[] | An array that contains all the custom attributes applied to this method.  | 
      
GetCustomAttributes(Boolean)
Returns an array of all custom attributes applied to this method.
Declaration
public override object[] GetCustomAttributes(bool inherit)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Boolean | inherit | true to search this member's inheritance chain to find the attributes; otherwise, false.  | 
      
Returns
| Type | Description | 
|---|---|
| Object[] | An array that contains all the custom attributes applied to this method.  | 
      
GetCustomAttributesData()
Returns a list of custom attributes that have been applied to the target method.
Declaration
public override IList<CustomAttributeData> GetCustomAttributesData()
  Returns
| Type | Description | 
|---|---|
| IList<CustomAttributeData> | The data about the attributes that have been applied to the target method.  | 
      
GetGenericArguments()
Returns the type arguments of a generic method or the type parameters of a generic method definition.
Declaration
public override Type[] GetGenericArguments()
  Returns
| Type | Description | 
|---|---|
| DotNext.Reflection.Type[] | The list of generic arguments.  | 
      
GetGenericMethodDefinition()
Returns generic method definition from which the current method can be constructed.
Declaration
public override MethodInfo GetGenericMethodDefinition()
  Returns
| Type | Description | 
|---|---|
| MethodInfo | Generic method definition from which the current method can be constructed.  | 
      
GetHashCode()
Computes hash code uniquely identifies the reflected method.
Declaration
public override int GetHashCode()
  Returns
| Type | Description | 
|---|---|
| Int32 | The hash code of the method.  | 
      
GetMethodBody()
Provides access to the MSIL stream, local variables, and exceptions for the current method.
Declaration
public override MethodBody GetMethodBody()
  Returns
| Type | Description | 
|---|---|
| MethodBody | An object that provides access to the MSIL stream, local variables, and exceptions for the current method.  | 
      
GetMethodImplementationFlags()
Gets method implementation attributes.
Declaration
public override MethodImplAttributes GetMethodImplementationFlags()
  Returns
| Type | Description | 
|---|---|
| MethodImplAttributes | Implementation attributes.  | 
      
GetParameters()
Gets method parameters.
Declaration
public override ParameterInfo[] GetParameters()
  Returns
| Type | Description | 
|---|---|
| ParameterInfo[] | The array of method parameters.  | 
      
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
Invokes this method.
Declaration
public override object Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Object | obj | The object on which to invoke the method.  | 
      
| BindingFlags | invokeAttr | Specifies the type of binding.  | 
      
| Binder | binder | Defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection.  | 
      
| Object[] | parameters | A list of method arguments.  | 
      
| CultureInfo | culture | Used to govern the coercion of types.  | 
      
Returns
| Type | Description | 
|---|---|
| Object | The return value of the invoked method.  | 
      
IsDefined(Type, Boolean)
Determines whether one or more attributes of the specified type or of its derived types is applied to this method.
Declaration
public override bool IsDefined(Type attributeType, bool inherit)
  Parameters
| Type | Name | Description | 
|---|---|---|
| DotNext.Reflection.Type | attributeType | The type of custom attribute to search for. The search includes derived types.  | 
      
| Boolean | inherit | true to search this member's inheritance chain to find the attributes; otherwise, false.  | 
      
Returns
| Type | Description | 
|---|---|
| Boolean | true if one or more instances of   | 
      
MakeGenericMethod(Type[])
Substitutes the elements of an array of types for the type parameters of the current generic method definition, and returns the resulting constructed method.
Declaration
public override MethodInfo MakeGenericMethod(params Type[] typeArguments)
  Parameters
| Type | Name | Description | 
|---|---|---|
| DotNext.Reflection.Type[] | typeArguments | An array of types to be substituted for the type parameters of the current generic method definition.  | 
      
Returns
| Type | Description | 
|---|---|
| MethodInfo | The constructed method formed by substituting the elements of   | 
      
ToString()
Returns textual representation of this method.
Declaration
public override string ToString()
  Returns
| Type | Description | 
|---|---|
| String | The textual representation of this method.  | 
      
Operators
| Improve this Doc View SourceImplicit(Method<D> to D)
Gets a delegate representing this method.
Declaration
public static implicit operator D(Method<D> method)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Method<D> | method | The reflected method.  | 
      
Returns
| Type | Description | 
|---|---|
| D | 
Explicit Interface Implementations
| Improve this Doc View SourceIMember<MethodInfo, D>.Invoker
Declaration
D IMember<MethodInfo, D>.Invoker { get; }
  Returns
| Type | Description | 
|---|---|
| D | 
IMember<MethodInfo>.RuntimeMember
Declaration
MethodInfo IMember<MethodInfo>.RuntimeMember { get; }
  Returns
| Type | Description | 
|---|---|
| MethodInfo |