32 readonly Type reflectedType;
33 readonly MethodInfo method;
42 Debug.Assert(reflectedType != method.DeclaringType);
43 this.reflectedType = reflectedType;
47 public override bool Equals(
object obj)
51 && other.reflectedType == reflectedType
52 && other.method == method;
57 return reflectedType.GetHashCode() ^ method.GetHashCode();
62 get {
return method.MethodSignature; }
65 internal override int ParameterCount
67 get {
return method.ParameterCount; }
72 var parameters = method.GetParameters();
73 for (
int i = 0; i < parameters.Length; i++)
79 internal override Type[] GetParameterTypes()
81 return method.GetParameterTypes();
86 get {
return method.Attributes; }
91 return method.GetMethodImplementationFlags();
96 return method.GetMethodBody();
101 get {
return method.CallingConvention; }
106 get {
return method.__MethodRVA; }
111 get {
return method.ReturnType; }
121 return SetReflectedType(method.MakeGenericMethod(typeArguments), reflectedType);
126 return method.GetGenericMethodDefinition();
131 return method.ToString();
136 return method.__GetMethodImpls();
139 internal override Type GetGenericMethodArgument(
int index)
141 return method.GetGenericMethodArgument(index);
144 internal override int GetGenericMethodArgumentCount()
146 return method.GetGenericMethodArgumentCount();
149 internal override MethodInfo GetMethodOnTypeDefinition()
151 return method.GetMethodOnTypeDefinition();
154 internal override bool HasThis
156 get {
return method.HasThis; }
159 public override Module Module
161 get {
return method.Module; }
166 get {
return method.DeclaringType; }
171 get {
return reflectedType; }
176 get {
return method.Name; }
181 return method.ImportTo(module);
186 return method.__GetMethodOnTypeDefinition();
191 get {
return method.__IsMissing; }
194 internal override MethodBase BindTypeParameters(Type type)
196 return method.BindTypeParameters(type);
201 get {
return method.ContainsGenericParameters; }
206 return method.GetGenericArguments();
211 get {
return method.IsGenericMethod; }
216 get {
return method.IsGenericMethodDefinition; }
221 get {
return method.MetadataToken; }
224 internal override int GetCurrentToken()
226 return method.GetCurrentToken();
229 internal override bool IsBaked
231 get {
return method.IsBaked; }