Example #1
0
        public static IReflectedHierarchyNode Create <T>(T root, IReflectedHierarchyNodeFactory nodeFactory)
        {
            if (typeof(T) != typeof(string)) // string is also enumerable but is treated like a 'value type'
            {
                if (typeof(T).GetInterface(typeof(IEnumerable).Name) != null)
                {
                    return(new ReflectedHierarchyEnumerableRootNode(root, nodeFactory));
                }
            }

            return(new ReflectedHierarchyObjectRootNode(root, nodeFactory));
        }
Example #2
0
 public ReflectedHierarchyEnumerableRootNode(object instance, IReflectedHierarchyNodeFactory nodeFactory)
     : base(instance, nodeFactory, new ReflectedHierarchyInstanceNodeFlyweight(instance, string.Empty))
 {
 }
Example #3
0
 public ReflectedHierarchyObjectNodeBase(IReflectedHierarchyNodeFactory nodeFactory, IReflectedHierarchyNodeFlyweight state)
     : base(nodeFactory, state)
 {
 }
Example #4
0
 public ReflectedHierarchyNodeBase(IReflectedHierarchyNodeFactory nodeFactory, IReflectedHierarchyNodeFlyweight state)
 {
     this.nodeFactory = nodeFactory;
     this.State       = state;
 }
        public ReflectedHierarchyPropertyNode(object instance, PropertyInfo propertyInfo, IReflectedHierarchyNodeFactory nodeFactory)
            : base(nodeFactory, new ReflectedHierarchyInstancePropertyNodeFlyweight(instance, propertyInfo))

        {
        }
 public ReflectedHierarchyEnumerableNodeBase(object instance, IReflectedHierarchyNodeFactory nodeFactory, IReflectedHierarchyNodeFlyweight state)
     : base(nodeFactory, state)
 {
 }
Example #7
0
        public ReflectedHierarchyObjectNode(object instance, string id, IReflectedHierarchyNodeFactory nodeFactory)
            : base(nodeFactory, new ReflectedHierarchyInstanceNodeFlyweight(instance, id))

        {
        }