title: Ninject property binding, how to do correctly
body: <p>I have installed Ninject (v4.0.30319) package in test project to test. Create test code below, unfortunately ValidateAbuse.Instance.Repository is always Null. Why Ninject do not bind repository to ValidateAbuse.Repository property? 
  Some of you may suggest to use constructor binding but I can't use it due to code structure. The below code is just example and I need to find a way to bind to property.</p>
  
  <p>Test method which always fail</p>
  
  <pre><code> [TestMethod]
          public void PropertyInjection()
          {
            using (IKernel kernel = new StandardKernel())
            {
                kernel.Bind&lt;ISettingsRepository&gt;().To&lt;SettingsRepository&gt;();
                Assert.IsNotNull(ValidateAbuse.Instance.Repository);
            }
          } 
  </code></pre>
  
  <p>The repository interface</p>
  
  <pre><code>public interface ISettingsRepository
  {
      List&lt;string&gt; GetIpAbuseList();
      List&lt;string&gt; GetSourceAbuseList();  
  }
  </code></pre>
  
  <p>The repository implementation</p>
  
  <pre><code> public class SettingsRepository : ISettingsRepository
      {
          public List&lt;string&gt; GetIpAbuseList()
          {
              return DataAccess.Instance.Abuses.Where(p =&gt; p.TypeId == 1).Select(p =&gt; p.Source).ToList();
          }
  
          public List&lt;string&gt; GetSourceAbuseList()
          {
              return DataAccess.Instance.Abuses.Where(p =&gt; p.TypeId == 2).Select(p =&gt; p.Source).ToList();
          }
      }
  </code></pre>
  
  <p>The class to which I am trying to bind repository</p>
  
  <pre><code>public class ValidateAbuse 
      {        
          [Inject]
          public ISettingsRepository Repository { get; set; }
  
          public static ValidateAbuse Instance = new ValidateAbuse();
  }
  </code></pre>