public object Get(Type type) { var typeKey = new TypeKey(type); Node n = context.ResolveType(typeKey); consider.Enqueue(n); Build(); return n.Value; }
public void Inject(object what) { var tk = new TypeKey(what.GetType()); Node n = new Node(tk); n.Value = what; ResultNode rn = new ResultNode(tk,n); var bn = inspector.Inspect(n.Build); rn.BuildNode = bn; foreach (var op in bn.Injections) { var cn = context.ResolveType(new TypeKey(op.PropertyType)); consider.Enqueue(cn); } readyToFill.Enqueue(rn); Build(); }
public Node(object what, Type type) { this.typeKey = new TypeKey(type); this.Value = what; }
public Node(TypeKey typeKey) { this.typeKey = typeKey; }
public Node(object what) { this.typeKey = new TypeKey(what.GetType()); this.Value = what; }
public bool Equals(TypeKey other) { return Equals(other.Type, Type) && Equals(other.code, code); }
public ResultNode(TypeKey tk, Node node) { this.node = node; }