I don't think there's any practical way. You could write the implementing class as an abstract class, which in turn becomes quite clumsy because you can no longer instantiate the first class. The only way is to write some ugly empty virtual methods, like so:
public interface ISomething
{
void DoOne();
void DoTwo();
}
public class Something : ISomething
{
public virtual void DoOne() { }
public virtual void DoTwo() { }
}
But this is a bad class design IMO, seeing as you should really have made the implementing class abstract in the first place, so people cannot instantiate an instance of the class that implements a bogus interface.
So the proper way would be to partially implement the interface within your "abstract" class, and delegate the others to inheriting classes by marking them as abstract (up to the deriving class to implement).
I.e
public interface ISomething
{
void DoOne();
void DoTwo();
}
public abstract class Something : ISomething
{
public abstract void DoOne();
public abstract void DoTwo();
}
This way, no-one can directly instantiate your unstable "Something" class, but the deriving classes are still required to implement the abstract methods of the interface that have not yet been implemented. This is far more robust and safe.
Point to note, if it's your OWN interface that you're implementing, scrap it. Write the interface as an abstract class to begin with and implement some of the methods, far easier.