title: C#: Inconsistent accessibility: property type
body: <p>What's wrong with </p>
  
  <pre><code>public partial class MainWindow : Window
  {
      public ObservableCollection&lt;TabViewModel&gt; Tabs { get; set; }
      public ICollectionView TabsViewSource { get; set; }
      public int CurrentIndex { get { return TabsViewSource.CurrentPosition; } }
  </code></pre>
  
  <p>I get </p>
  
  <blockquote>
    <p>Inconsistent accessibility: property type 'System.Collections.ObjectModel.ObservableCollection' is less accessible than property 'TabsRendering.MainWindow.Tabs'</p>
  </blockquote>
  
  <p>when i change the code to </p>
  
  <pre><code>public partial class MainWindow : Window
  {
      ObservableCollection&lt;TabViewModel&gt; Tabs { get; set; }
      public ICollectionView TabsViewSource { get; set; }
      public int CurrentIndex { get { return TabsViewSource.CurrentPosition; } }
  </code></pre>
  
  <p>It works. Whats wrong with the <code>public</code> on the <code>ObservableCollection</code></p>