/// <summary> /// Creates a node policy for given object instance. /// </summary> /// <param name="obj">An object to create node policy for.</param> /// <returns>An object implementing <see cref="INodePolicy"/> interface /// which should be used to map this object to the tree node.</returns> public INodePolicy GetNodePolicy(object obj) { INodePolicy policy = _nodePolicyFactory.GetPolicy(obj.GetType()); if (NodePolicyGet != null) { NodePolicyGetEventArgs e = new NodePolicyGetEventArgs(obj, policy); NodePolicyGet(this, e); if (e.Policy != null) { policy = e.Policy; } } return(policy); }
/// <summary> /// Creates a node policy for given object instance. /// </summary> /// <param name="obj">An object to create node policy for.</param> /// <returns>An object implementing <see cref="INodePolicy"/> interface /// which should be used to map this object to the tree node.</returns> public INodePolicy GetNodePolicy( object obj ) { INodePolicy policy = _nodePolicyFactory.GetPolicy( obj.GetType() ); if( NodePolicyGet != null ) { NodePolicyGetEventArgs e = new NodePolicyGetEventArgs( obj, policy ); NodePolicyGet( this, e ); if( e.Policy != null ) policy = e.Policy; } return policy; }