using System; namespace MyNamespace { internal interface MyInternalInterface { bool Foo {get;set;} string FooSet {set;} void FooMeth (); void BarMeth (); event EventHandler InternalEvent; } public interface MyPublicInterface { event EventHandler PublicEvent; } public class MyClass : MyInternalInterface, MyPublicInterface { [System.ComponentModel.DefaultValue ('\0')] public string Bar {get;set;} public void BarMeth () {} // part of the interface, but publicly implemented string MyInternalInterface.FooSet {set {}} bool MyInternalInterface.Foo {get;set;} void MyInternalInterface.FooMeth () {} event EventHandler MyPublicInterface.PublicEvent {add{}remove{}} event EventHandler MyInternalInterface.InternalEvent {add{}remove{}} public event EventHandler InstanceEvent {add{}remove{}} } public static class ArrayX10 { public static bool IsAligned (this T[] vect, int index) where T : struct { return false; } } }