private static void RegisterEventTypesAndHandlers(Assembly assembly) { if (assembly == null) { return; } foreach (Type type in assembly.GetTypes()) { foreach (MethodInfo method in type.GetMethods()) { if (!method.IsPublic || !method.IsStatic) { continue; } var descriptorArray = method.GetCustomAttributes(typeof(MyGlobalEventHandler), false); if (descriptorArray != null && descriptorArray.Length > 0) { foreach (var descriptor in descriptorArray) { MyGlobalEventHandler typedDescriptor = (MyGlobalEventHandler)descriptor; RegisterHandler(typedDescriptor.EventDefinitionId, MethodInfoExtensions.CreateDelegate <GlobalEventHandler>(method)); } } } } }
private static void RegisterEventTypesAndHandlers(Assembly assembly) { if (assembly == null) { return; } #if XB1 // XB1_ALLINONEASSEMBLY System.Diagnostics.Debug.Assert(m_registered == false); if (m_registered == true) { return; } m_registered = true; foreach (Type type in MyAssembly.GetTypes()) #else // !XB1 foreach (Type type in assembly.GetTypes()) #endif // !XB1 { foreach (MethodInfo method in type.GetMethods()) { if (!method.IsPublic || !method.IsStatic) { continue; } var descriptorArray = method.GetCustomAttributes(typeof(MyGlobalEventHandler), false); if (descriptorArray != null && descriptorArray.Length > 0) { foreach (var descriptor in descriptorArray) { MyGlobalEventHandler typedDescriptor = (MyGlobalEventHandler)descriptor; RegisterHandler(typedDescriptor.EventDefinitionId, method); } } } } m_globalEventFactory.RegisterFromAssembly(assembly); }