예제 #1
0
        protected override object InstanceInternal(CmlContext context)
        {
            CmlClass @class = context.GetClass();

            return(context.GetEngine().GetClassLibrary().GetClass(@class.GetTargetType().BaseType, @class.GetLayout())
                   .IfNotNull(c => c.Create(context)));
        }
예제 #2
0
        public CmlContext_Child(CmlContext p)
        {
            parent_context = p;

            @class               = parent_context.GetClass();
            unit_space           = parent_context.GetUnitSpace();
            fragment_space       = parent_context.GetFragmentSpace();
            representation_space = parent_context.GetRepresentationSpace();

            target_info           = parent_context.GetTargetInfo();
            link_manager          = parent_context.GetLinkManager();
            syncro_manager        = parent_context.GetSyncroManager();
            deferred_process_list = parent_context.GetDeferredProcessList();
        }
예제 #3
0
 public void AddClass(CmlClass @class)
 {
     manual_classes[Tuple.New(@class.GetTargetType(), @class.GetLayout())] = @class;
     class_cache.Clear();
 }
예제 #4
0
 static public CmlContext NewClass(this CmlContext item, CmlClass @class)
 {
     return(new CmlContext_Child_Class(item, @class));
 }
예제 #5
0
 public CmlContext_Child_Class(CmlContext p, CmlClass c) : base(p)
 {
     @class = c;
 }
예제 #6
0
 static public RepresentationResult CreateResults(this CmlClass item, CmlContext context)
 {
     return(new RepresentationResult(item.Create(context), context));
 }