private void ResolveInterfaceDispatch_ForMultiGenericTest(MetadataType type, out MethodDesc md1, out MethodDesc md2) { var algo = new MetadataVirtualMethodAlgorithm(); var stringType = _context.GetWellKnownType(WellKnownType.String); var bang0Type = _context.GetSignatureVariable(0, false); var bang1Type = _context.GetSignatureVariable(1, false); MethodSignature sigBang0Bang1 = new MethodSignature(0, 0, stringType, new TypeDesc[] { bang0Type, bang1Type }); MethodSignature sigBang1Bang0 = new MethodSignature(0, 0, stringType, new TypeDesc[] { bang1Type, bang0Type }); var iMultiGeneric = type.ExplicitlyImplementedInterfaces.First(); var method0_1 = iMultiGeneric.GetMethod("Func", sigBang0Bang1); Assert.NotNull(method0_1); var method1_0 = iMultiGeneric.GetMethod("Func", sigBang1Bang0); Assert.NotNull(method1_0); md1 = algo.ResolveInterfaceMethodToVirtualMethodOnType(method0_1, type); md2 = algo.ResolveInterfaceMethodToVirtualMethodOnType(method1_0, type); Assert.NotNull(md1); Assert.NotNull(md2); }