C# Interfaces with optional methods
You should create two interfaces: interface ITest { void MethodOne(); } interface ITest2 : ITest { void MethodTwo(); } This would also make it clear which functionality requires which version of your interfaces, so that you don’t have to check whether the class implementing the interface is implementing just one, or both, methods.