public static void BindExecutionOrder( this DiContainer container, Type type, int order) { Assert.That(type.DerivesFrom <ITickable>() || type.DerivesFrom <IInitializable>() || type.DerivesFrom <IDisposable>() || type.DerivesFrom <IFixedTickable>() || type.DerivesFrom <ILateTickable>(), "Expected type '{0}' to derive from one or more of the following interfaces: ITickable, IInitializable, ILateTickable, IFixedTickable, IDisposable", type.Name()); if (type.DerivesFrom <ITickable>()) { container.BindTickableExecutionOrder(type, order); } if (type.DerivesFrom <IInitializable>()) { container.BindInitializableExecutionOrder(type, order); } if (type.DerivesFrom <IDisposable>()) { container.BindDisposableExecutionOrder(type, order); } if (type.DerivesFrom <IFixedTickable>()) { container.BindFixedTickableExecutionOrder(type, order); } if (type.DerivesFrom <ILateTickable>()) { container.BindLateTickableExecutionOrder(type, order); } }
public static void BindInitializableExecutionOrder <T>( this DiContainer container, int order) where T : IInitializable { container.BindInitializableExecutionOrder(typeof(T), order); }