You can declare optional parameters in an interface method but implementing classes are not required to declare the parameters as optional, as Eric Lippert explained. Conver
Example:
public interface IService1
{
void MyMethod(string text, bool flag = true);
}
public class MyService1a : IService1
{
public void MyMethod(string text, bool flag) { }
}
Usage:
IService1 ser = new MyService1a();
ser.MyMethod("A");
2nd parameter passed to MyService1a will be true, as default parameter in interface.