Exemple #1
0
        protected override void Build(ISharedScope scope)
        {
            scope.Type<ITypeA>().Spec(t =>
            {
                t.Apply(Traits.TypeA);
                t.Property(o => o.PropertyA).Apply(Traits.PropertyA);
                t.Property(o => o.PropertyB).Apply(Traits.PropertyB);
            });

            scope.Type<ITypeB>().Apply(Traits.TypeB);
        }
        protected override void Build(ISharedScope scope)
        {
            scope.Types.Matching(t => t.Name.EndsWith("A")).Spec(t =>
            {
                t.Apply(Traits.TypeA.Type);
                t.Properties.Matching(p => p.Name.EndsWith("A")).Apply(Traits.TypeA.PropertyA);
                t.Properties.Matching(p => p.Name.EndsWith("B")).Apply(Traits.TypeA.PropertyB);
            });

            scope.Types.Matching(t => t.Name.EndsWith("B")).Spec(t =>
            {
                t.Apply(Traits.TypeB.Type);
                t.Properties.Matching(p => p.Name.EndsWith("A")).Apply(Traits.TypeB.PropertyA);
                t.Properties.Matching(p => p.Name.EndsWith("B")).Apply(Traits.TypeB.PropertyB);
            });

            scope.Properties.Matching(p => p.Name.EndsWith("A")).Apply(Traits.Global.PropertyA);
            scope.Properties.Matching(p => p.Name.EndsWith("B")).Apply(Traits.Global.PropertyB);
        }
Exemple #3
0
 protected abstract void Build(ISharedScope scope);
Exemple #4
0
 protected override void Build(ISharedScope scope)
 {
     scope.Types     .Apply(Traits.Types     );
     scope.Properties.Apply(Traits.Properties);
 }