当前位置: 首页>>代码示例>>C#>>正文


C# ContainerBuilder.RegisterDecorator方法代码示例

本文整理汇总了C#中ContainerBuilder.RegisterDecorator方法的典型用法代码示例。如果您正苦于以下问题:C# ContainerBuilder.RegisterDecorator方法的具体用法?C# ContainerBuilder.RegisterDecorator怎么用?C# ContainerBuilder.RegisterDecorator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ContainerBuilder的用法示例。


在下文中一共展示了ContainerBuilder.RegisterDecorator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Register

        public static void Register(ContainerBuilder builder)
        {
            builder.RegisterType<MongoEventStoreRepository>()
              .As<IEventStoreRepository>()
              .InstancePerRequest();

              builder.Register(c => new AccountIdResolver(new MongoAccountRepository()))
              .As<IAccountIdResolver>()
              .InstancePerRequest();

              builder.RegisterType<MongoAccountRepository>()
              //.As<IAccountRepository>()
              .Named<IAccountRepository>("account")
              .InstancePerRequest();

              builder.RegisterDecorator<IAccountRepository>(
              (c, inner) => new MongoAccountRepositoryWithEventStore(inner,
            new MongoEventStoreRepository(c.Resolve<IAccountIdResolver>())),
              fromKey: "account")
              .InstancePerRequest();

            builder.RegisterType<MongoQueryRepository>()
                            //.As<IQueryRepository>()
              .Named<IQueryRepository>("query")
              .InstancePerRequest();

              builder.RegisterDecorator<IQueryRepository>(
              (c, inner) => new MongoQueryRepositoryWithEventStore(inner,
            new MongoEventStoreRepository(c.Resolve<IAccountIdResolver>())),
              fromKey: "query")
              .InstancePerRequest();

            builder.RegisterType<MongoQueryLogRepository>()
                            .As<IQueryLogRepository>()
                            .InstancePerRequest();

              BsonClassMap.RegisterClassMap<Account>();

              BsonClassMap.RegisterClassMap<EventStore>(classMap => {
            classMap.AutoMap();
            classMap.GetMemberMap(es => es.EventName).SetRepresentation(BsonType.String);
              });

              BsonClassMap.RegisterClassMap<AuthorizationSettings>(classMap => {
            classMap.AutoMap();
            classMap.GetMemberMap(aus => aus.Operation).SetRepresentation(BsonType.String);
            classMap.GetMemberMap(aus => aus.AccountId).SetRepresentation(BsonType.ObjectId);
              });

              BsonClassMap.RegisterClassMap<Note>(classMap =>
              {
            classMap.AutoMap();
            classMap.GetMemberMap(n => n.AccountId).SetRepresentation(BsonType.ObjectId);
              });
        }
开发者ID:kennisnet,项目名称:Sparql-Query-Api,代码行数:55,代码来源:MongoDbRegistration.cs

示例2: DecoratingANamedService

 public DecoratingANamedService()
 {
     const string from = "from";
     var builder = new ContainerBuilder();
     builder.RegisterType<Implementer1>().Named<IService>(from);
     builder.RegisterType<Implementer2>().Named<IService>(from);
     builder.RegisterDecorator<IService>(s => new Decorator(s), from);
     _container = builder.Build();
 }
开发者ID:uttarap,项目名称:Autofac,代码行数:9,代码来源:LightweightAdapterRegistrationExtensionsTests.cs


注:本文中的ContainerBuilder.RegisterDecorator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。