コード例 #1
0
 private IExportFactory<IRuntimeElementInfoFactory, RuntimeElementInfoFactoryMetadata> CreateElementInfoFactory(IRuntimeElementInfoFactory factory)
 {
     var metadata = new RuntimeElementInfoFactoryMetadata(typeof(IClassifierInfo), typeof(TypeInfo));
     var exportFactory =
         new ExportFactoryAdapter<IRuntimeElementInfoFactory, RuntimeElementInfoFactoryMetadata>(
             () => Tuple.Create(factory, (Action)null),
             metadata);
     return exportFactory;
 }
コード例 #2
0
 private IExportFactory<IRequestProcessingFilter, RequestProcessingFilterMetadata> CreateFilterFactory(
     Func<IProcessingContext, CancellationToken, Task> beforeFunc = null,
     Func<IProcessingContext, CancellationToken, Task> afterFunc = null,
     Type requestType = null, 
     int processingPriority = 0, 
     Priority overridePriority = Priority.Normal)
 {
     requestType = requestType ?? typeof(IRequest);
     beforeFunc = beforeFunc ?? ((c, t) => TaskHelper.EmptyTask<bool>());
     afterFunc = afterFunc ?? ((c, t) => TaskHelper.EmptyTask<bool>());
     var filter = Mock.Create<IRequestProcessingFilter>();
     filter.Arrange(f => f.BeforeProcessAsync(Arg.IsAny<IProcessingContext>(), Arg.IsAny<CancellationToken>()))
         .Returns(beforeFunc);
     filter.Arrange(f => f.AfterProcessAsync(Arg.IsAny<IProcessingContext>(), Arg.IsAny<CancellationToken>()))
         .Returns(afterFunc);
     var factory =
         new ExportFactoryAdapter<IRequestProcessingFilter, RequestProcessingFilterMetadata>(
             () => Tuple.Create(filter, (Action)(() => { })),
             new RequestProcessingFilterMetadata(requestType, processingPriority, overridePriority));
     return factory;
 }