using System; namespace Stary.Evo { public interface ICanRegisterEvent:IBelongToArchitecture { } public static class CanRegisterEventExtension { public static IUnRegister RegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { return self.GetArchitecture().RegisterEvent(key,onEvent); } public static IUnRegister RegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { return self.GetArchitecture().RegisterEvent(key,onEvent); } public static IUnRegister RegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { return self.GetArchitecture().RegisterEvent(key,onEvent); } public static IUnRegister RegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { return self.GetArchitecture().RegisterEvent(key,onEvent); } public static IUnRegister RegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { return self.GetArchitecture().RegisterEvent(key,onEvent); } public static void UnRegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { self.GetArchitecture().UnRegisterEvent(key,onEvent); } public static void UnRegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { self.GetArchitecture().UnRegisterEvent(key,onEvent); } public static void UnRegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { self.GetArchitecture().UnRegisterEvent(key,onEvent); } public static void UnRegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { self.GetArchitecture().UnRegisterEvent(key,onEvent); } public static void UnRegisterEvent(this ICanRegisterEvent self,T key,Action onEvent) where T : IConvertible { self.GetArchitecture().UnRegisterEvent(key,onEvent); } } }