public static bool IsRunOverridden(this IFrostingTask task, IFrostingContext context) { if (task.IsFrostingTask()) { return(task.GetType().GetMethod(nameof(FrostingTask.Run), new[] { context.GetType() }).IsOverriden()); } if (task.IsAsyncFrostingTask()) { return(task.GetType().GetMethod(nameof(AsyncFrostingTask.RunAsync), new[] { context.GetType() }).IsOverriden()); } throw new InvalidOperationException($"This method expects all {nameof(IFrostingTask)} to be instances of {nameof(FrostingTask)} or {nameof(AsyncFrostingTask)}."); }
public static bool IsFinallyOverridden(this IFrostingTask task, IFrostingContext context) { return(task.GetType().GetMethod(nameof(IFrostingTask.Finally), new[] { context.GetType() }).IsOverriden()); }
public static bool IsOnErrorOverridden(this IFrostingTask task, IFrostingContext context) { return(task.GetType().GetMethod(nameof(IFrostingTask.OnError), new[] { typeof(Exception), context.GetType() }).IsOverriden()); }
public static bool HasCompatibleContext(this IFrostingTask task, IFrostingContext context) { return(context.GetType().IsConvertableTo(task.GetContextType())); }
public static bool IsTeardownOverridden(this IFrostingLifetime lifetime, IFrostingContext context) { return(lifetime.GetType().GetMethod("Teardown", new[] { context.GetType(), typeof(ITeardownContext) }).IsOverriden()); }
public static bool IsSetupOverridden(this IFrostingLifetime lifetime, IFrostingContext context) { return(lifetime.GetType().GetMethod("Setup", new[] { context.GetType() }).IsOverriden()); }