title: Passing reference/static data through a viewmodel to a view in MVC3
body: <p>I created a class to hold some static data:</p>
  
  <pre><code>static public class ReferenceData
      {
          [DisplayName("Status")]
          public IEnumerable&lt;SelectListItem&gt; StatusType
          {
              get
              {
                  return new[]
                      {
                          new SelectListItem { Value = "0", Text = "Release" },
                          new SelectListItem { Value = "1", Text = "Beta" },
                          new SelectListItem { Value = "2", Text = "Alpha" },
                      };
              }
          }
      }
  </code></pre>
  
  <p>Now I would like to use that class data to populate a drop down list in a view. I have the following view model:</p>
  
  <pre><code>public class adminViewModel
  {
      public HouseData   HouseData { get; set; }
      public string Status { get; set; }
      public ReferenceData ReferenceData { get; } // &lt;&lt;&lt;&lt;&lt;&lt; My problem here
  }
  
  
  @Html.DropDownListFor(
    x =&gt; x.Status,
    new SelectList(Model.ReferenceData.StatusType, "Value", "Text"),
    new { style = "display: inline;" }
  )
  </code></pre>
  
  <p>The problem for me is that I am not sure if this is a valid way to do it because I am using a static class and when I have the get; there inside of the {} it complains during compile with an error message saying:</p>
  
  <pre><code>static types cannot be used as return types
  </code></pre>
  
  <p>Do I really need to make it a non-static and instantiate the class before I can use it in the viewmodel even though the data is always static?</p>