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)); }
public ReflectedHierarchyEnumerableRootNode(object instance, IReflectedHierarchyNodeFactory nodeFactory) : base(instance, nodeFactory, new ReflectedHierarchyInstanceNodeFlyweight(instance, string.Empty)) { }
public ReflectedHierarchyObjectNodeBase(IReflectedHierarchyNodeFactory nodeFactory, IReflectedHierarchyNodeFlyweight state) : base(nodeFactory, state) { }
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) { }
public ReflectedHierarchyObjectNode(object instance, string id, IReflectedHierarchyNodeFactory nodeFactory) : base(nodeFactory, new ReflectedHierarchyInstanceNodeFlyweight(instance, id)) { }