title: C# - Creating a saveable object
body: <p>I want to create a class library, that contains an interface that objects can derive of, lets say <code>ISaveableObject</code>.  </p>
  
  <p>Now, this interface should implement the following functionality:  </p>
  
  <ul>
  <li>Objects that derive off this interface should have a method <code>ToSaveableObject</code> (similar to the <code>System.Object.ToString()</code> method). </li>
  <li>And it should contain a specific constructor, which takes an array of objects as its parameter.</li>
  </ul>
  
  <p>The connection between these two should be that the <code>ToSaveableObject</code> method returns a string that takes all the properties that are needed for the <code>object[]</code> and convert it into a readable string and return it.</p>
  
  <p>Am I going in the correct direction by wanting to use an interface or is an abstract class better suited for this case? </p>
  
  <p>Sadly, interfaces cannot implement constructors, so is there another way to accomplish my goal?</p>