using net.lshift.ndocproc; namespace net.lshift.ndocproc.examples.interfaces { ///First interface public interface I1 { ///Nullary from I1 object Nullary(); ///UnarySpecific from I1 object UnarySpecific(I1 x); ///UnaryGeneric from I1 object UnaryGeneric(object x); } ///Second interface public interface I2 { ///Nullary from I2 object Nullary(); ///UnarySpecific from I2 object UnarySpecific(I2 x); ///UnaryGeneric from I2 object UnaryGeneric(object x); } ///Implements both interfaces simply. public class C12A: I1, I2 { ///Nullary from I1, I2 public object Nullary() { return null; } ///UnarySpecific from I1 public object UnarySpecific(I1 x) { return x; } ///UnarySpecific from I2 public object UnarySpecific(I2 x) { return x; } ///UnaryGeneric from I1, I2 public object UnaryGeneric(object x) { return x; } } ///Implements both interfaces separately. public class C12B: I1, I2 { ///Nullary from I1 object examples.interfaces.I1.Nullary() { return null; } ///Nullary from I2 object I2.Nullary() { return null; } ///UnarySpecific from I1 public object UnarySpecific(I1 x) { return x; } ///UnarySpecific from I2 public object UnarySpecific(I2 x) { return x; } ///UnaryGeneric from I1 object net.lshift.ndocproc.examples.interfaces.I1.UnaryGeneric(object x) { return x; } ///UnaryGeneric from I2 object I2.UnaryGeneric(object x) { return x; } } }