In Java, we have anonymous classes which can be declared at the same point where they are required to instantiate.[[BR]] In C#, We transform anonymous classes to inner classes. [Java] {{{ #!c public class TestClass { public void Method() { Comparable c = new Comparable() { public int compareTo(Object obj1, Object obj2) { return (obj1.toString() == obj2.toString()); } } } } }}} [C#] {{{ #!cpp public class TestClass { public void Method() { Comparable c = new AnonymousClassComparable(this); } private class AnonymousClassComparable : Comparable { public AnonymousClassComparable(TestClass enclosing) { this.Enclosing = enclosing; } public int compareTo(Object obj1, Object obj2) { return(obj1.ToString() == obj2.ToString()); } TestClass enclosing; } } }}}