designing application using polymorphism
Yes, I don't see a problem with that.

If you don't have any implementation at all in the base class, consider making it an interface instead:

interface IWriter {
    void Write(List&lt;WriteObj&gt; writeObjList);
}

class ConsoleWriter : IWriter {
  public void Write(List&lt;WriteObj&gt; writeObjList) {
    foreach (WriteObj obj in writeObjList) {
      Console.Writeline("I am in Console Writer, parameter: " + obj.Obj1);
    }
  }
}

etc.