title: How to get OPTIONAL interface method implementation in C# like in Objective-C 2.0?
body: <p>Objective-C has protocol which is the equivalence of interface in C#. Nevertheless C# enforces to implement all method like in Objective-C 1.0. </p>
  
  <p>But in Objective-C 2.0, it is now possible to mark some method in protocol as optional. Does C# allow this or will it allow this in some future?</p>
  
  <p>In theory enforcing is the very purpose of interface but in practice I have experienced the burden of this hard rule in complex project: you have to create many many interfaces which can become hard to manage design or refactor. So for me this evolution of Objective-C 1.0 to Objective-C 2.0 does really make sense.</p>
  
  <p>As Microsoft is generally pragmatic it would be great if they could do this also.</p>