Adds configure/initialize for internal assembly (#274)

This commit is contained in:
Kamron Batman 2020-10-17 20:43:09 -07:00 • committed by GitHub
parent 683e2d6679
commit ae523fe158
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,14 +44,11 @@ namespace Server
{ {
var invoke = new List<MethodInfo>(); var invoke = new List<MethodInfo>();
for (var a = 0; a < Assemblies.Length; ++a) Core.Assembly.AddMethods(method, invoke);
for (var i = 0; i < Assemblies.Length; i++)
{ {
invoke.AddRange( Assemblies[i].AddMethods(method, invoke);
Assemblies[a]
.GetTypes()
.Select(t => t.GetMethod(method, BindingFlags.Static | BindingFlags.Public))
.Where(m => m != null)
);
} }
invoke.Sort(new CallPriorityComparer()); invoke.Sort(new CallPriorityComparer());
@ -62,6 +59,21 @@ namespace Server
} }
} }
private static void AddMethods(this Assembly assembly, string method, List<MethodInfo> list)
{
var types = assembly.GetTypes();
for (int i = 0; i < types.Length; i++)
{
var m = types[i].GetMethod(method, BindingFlags.Static | BindingFlags.Public);
if (m != null)
{
list.Add(m);
}
}
}
public static TypeCache GetTypeCache(Assembly asm) public static TypeCache GetTypeCache(Assembly asm)
{ {
if (asm == null) if (asm == null)