updates
This commit is contained in:
parent
466ce7e5b2
commit
93f8790653
@ -62,6 +62,13 @@ namespace MBS.Core.Collections.Generic
|
|||||||
list.Add(item);
|
list.Add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static void AddRange<TKey, TValue>(this ICollection<KeyValuePair<TKey, TValue>> list, IEnumerable<KeyValuePair<TKey, TValue>> items)
|
||||||
|
{
|
||||||
|
foreach (KeyValuePair<TKey, TValue> kvp in items)
|
||||||
|
{
|
||||||
|
list.Add(kvp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static T[] ToNullTerminatedArray<T>(this IEnumerable<T> enumerable) where T : class
|
public static T[] ToNullTerminatedArray<T>(this IEnumerable<T> enumerable) where T : class
|
||||||
{
|
{
|
||||||
|
|||||||
@ -129,12 +129,12 @@ public class TypeLoader
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static Type[] mvarAvailableTypes = null;
|
private static Type[] mvarAvailableTypes = null;
|
||||||
public static T[] GetAvailableTypes<T>(Assembly[] additionalAssemblies = null) where T : class
|
public static T[] GetAvailableTypes<T>(Assembly[] additionalAssemblies = null, bool resetCache = false) where T : class
|
||||||
{
|
{
|
||||||
Type[] ts = null;
|
Type[] ts = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ts = GetAvailableTypes(new Type[] { typeof(T) }, additionalAssemblies);
|
ts = GetAvailableTypes(new Type[] { typeof(T) }, additionalAssemblies, resetCache);
|
||||||
}
|
}
|
||||||
catch (ReflectionTypeLoadException ex)
|
catch (ReflectionTypeLoadException ex)
|
||||||
{
|
{
|
||||||
@ -156,8 +156,12 @@ public class TypeLoader
|
|||||||
}
|
}
|
||||||
return list.ToArray();
|
return list.ToArray();
|
||||||
}
|
}
|
||||||
public static Type[] GetAvailableTypes(Type[] inheritsFrom = null, Assembly[] additionalAssemblies = null)
|
public static Type[] GetAvailableTypes(Type[] inheritsFrom = null, Assembly[] additionalAssemblies = null, bool resetCache = false)
|
||||||
{
|
{
|
||||||
|
if (resetCache)
|
||||||
|
{
|
||||||
|
mvarAvailableTypes = null;
|
||||||
|
}
|
||||||
if (mvarAvailableTypes == null)
|
if (mvarAvailableTypes == null)
|
||||||
{
|
{
|
||||||
List<Type> types = new List<Type>();
|
List<Type> types = new List<Type>();
|
||||||
@ -210,6 +214,7 @@ public class TypeLoader
|
|||||||
List<Type> retval = new List<Type>();
|
List<Type> retval = new List<Type>();
|
||||||
foreach (Type t in mvarAvailableTypes)
|
foreach (Type t in mvarAvailableTypes)
|
||||||
{
|
{
|
||||||
|
string typeFullName = t.FullName;
|
||||||
foreach (Type inheritsFromType in inheritsFrom)
|
foreach (Type inheritsFromType in inheritsFrom)
|
||||||
{
|
{
|
||||||
if (t.FullName.Contains("Mini."))
|
if (t.FullName.Contains("Mini."))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user