private bool HasPropertyDependency(DependencyEntry entry)
 {
     return(entry.GetImplementationType().
            GetProperties(BindingFlags.Public | BindingFlags.Instance).
            Select(p => p.PropertyType).
            Any(p => PropertyEntryTable.ContainsKey(p)
                ));
 }
 public void Dispose()
 {
     foreach (var scoped in ScopedTable)
     {
         var disposable = scoped.Value as IDisposable;
         if (disposable != null)
         {
             disposable.Dispose();
         }
     }
     DependencyEntryTable.Clear();
     PropertyEntryTable.Clear();
     HasPropertyEntryTable.Clear();
     CompileTable.Clear();
     ScopedTable.Clear();
 }