diff --git a/ILRuntime/CLR/TypeSystem/ILType.cs b/ILRuntime/CLR/TypeSystem/ILType.cs index f467b44d..1bb8cdfd 100644 --- a/ILRuntime/CLR/TypeSystem/ILType.cs +++ b/ILRuntime/CLR/TypeSystem/ILType.cs @@ -732,6 +732,17 @@ public IMethod GetVirtualMethod(IMethod method) } else m = GetMethod(string.Format("{0}.{1}", method.DeclearingType.FullName, method.Name), method.Parameters, genericArguments, method.ReturnType, true); + + if (m == null) + { + if (method.DeclearingType is ILType) + { + ILType iltype = (ILType)method.DeclearingType; + m = GetMethod(string.Format("global::{0}.{1}", iltype.fullNameForNested, method.Name), method.Parameters, genericArguments, method.ReturnType, true); + } + else + m = GetMethod(string.Format("global::{0}.{1}", method.DeclearingType.FullName, method.Name), method.Parameters, genericArguments, method.ReturnType, true); + } } if (m == null)