diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/BaseApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/BaseApplicationHost.cs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index 4c1ce8b99..a0c1a2f0f 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -408,6 +408,18 @@ namespace MediaBrowser.Common.Implementations } /// <summary> + /// Gets the export types. + /// </summary> + /// <typeparam name="T"></typeparam> + /// <returns>IEnumerable{Type}.</returns> + public IEnumerable<Type> GetExportTypes<T>() + { + var currentType = typeof(T); + + return AllConcreteTypes.AsParallel().Where(currentType.IsAssignableFrom); + } + + /// <summary> /// Gets the exports. /// </summary> /// <typeparam name="T"></typeparam> @@ -415,9 +427,7 @@ namespace MediaBrowser.Common.Implementations /// <returns>IEnumerable{``0}.</returns> public IEnumerable<T> GetExports<T>(bool manageLiftime = true) { - var currentType = typeof(T); - - var parts = AllConcreteTypes.AsParallel().Where(currentType.IsAssignableFrom).Select(CreateInstance).Cast<T>().ToArray(); + var parts = GetExportTypes<T>().Select(CreateInstance).Cast<T>().ToArray(); if (manageLiftime) { |
