This is preliminary documentation and subject to change. To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!
Interface Usage Guidelines
Recommendation using a class or abstract class.
Do use interfaces to provide extensibility and customizability.
Recommendation providing a default implementation of an interfaces where appropriate. For example: System.Reflection.Expando is the default implementation of the System.Reflection.IExpando interface
Do see section 0 on the versioning issues with interfaces and abstract classes
Do implement interfaces privately if you only want the interface methods available when cast to that interface.
public class ButtonEnumerator: private IEnumerator
{
public boolean GetNext();
public Button GetValue ();
public Object IEnumerator.GetValue ();
}