public void Test() { var tc = new AmbiguousMatchTestClass(); var wtc = tc.Wrap<IAmbiguousMatchTestClass>(); Assert.AreEqual(null, wtc.LastMethod); wtc.M1(); Assert.AreEqual("1", wtc.LastMethod); wtc.M1("hello"); Assert.AreEqual("2", wtc.LastMethod); wtc.M1(new object()); Assert.AreEqual("3", wtc.LastMethod); wtc.M1(10); Assert.AreEqual("4", wtc.LastMethod); wtc.M1(10d); Assert.AreEqual("5", wtc.LastMethod); wtc.M1(wtc); Assert.AreEqual("6", wtc.LastMethod); }
public void M1(AmbiguousMatchTestClass obj) { LastMethod = "6"; }