protected override void OnCompleteType( ITypeInitializationContext context) { base.OnCompleteType(context); foreach (INeedsInitialization argument in Arguments .Cast <INeedsInitialization>()) { argument.CompleteType(context); } if (context.GetMiddleware(Name) is DirectiveDelegateMiddleware m) { Middleware = m.Middleware; IsExecutable = true; } }