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;
}
}
}