title: Net Core: Hold Multiple Class Types for Methods
body: <p>I have a bunch of Class methods, which take a List of Image URLs, and place them into Tagbuilders, apply functions, etc. What is good way to accomodate flexible design, and should I use dependency injection? I only need ImageURL and Title.</p>
  
  <p><strong>History:</strong></p>
  
  <p>I conducted this initially. I am beginner and learned this is not loosely coupled well.</p>
  
  <pre><code>public void RunSomeprocess(List&lt;string&gt; ImageList)
  {
  ....
  </code></pre>
  
  <p>Then someone came up with a Dictionary with Image Titles, and I changed into Dictionary to hold URL, and additional title</p>
  
  <pre><code>public void RunSomeprocess(Dictionary&lt;string,string&gt; ImageList)
  {
  ....
  </code></pre>
  
  <p>Then people  came up with a class, one had caption, another had length/height. The only two columns I need are ImageSource and Title. What the best way to deal with this situation?</p>
  
  <pre><code>public class ImageListwithCaption
  {
      string ImageSource {get;set;}
      string ImageTitle {get;set;}
      string ImageCaptionDescription {get;set;}
  
  
  public class ImageListwithLengthHeight
  {
      string ImageSource {get;set;}
      string ImageTitle {get;set;}
      int PixelWidth {get;set;}
      int PixelHeight{get;set;}
  </code></pre>