Castle.Components.Binder.DataBinder.ConvertToSimpleValue C# (CSharp) Method

ConvertToSimpleValue() private method

private ConvertToSimpleValue ( Type desiredType, string key, Castle.Components.Binder.CompositeNode parent, bool &conversionSucceeded ) : object
desiredType System.Type
key string
parent Castle.Components.Binder.CompositeNode
conversionSucceeded bool
return object
		private object ConvertToSimpleValue(Type desiredType, string key, CompositeNode parent, out bool conversionSucceeded)
		{
			conversionSucceeded = false;

			Node childNode = parent.GetChildNode(key);

			if (childNode == null && IsDateTimeType(desiredType))
			{
				return TrySpecialDateTimeBinding(desiredType, parent, key, out conversionSucceeded);
			}
			else if (childNode == null)
			{
				return null;
			}
			else if (childNode.NodeType == NodeType.Leaf)
			{
				return ConvertLeafNode(desiredType, (LeafNode) childNode, out conversionSucceeded);
			}
			else
			{
				throw new BindingException("Could not convert param as the node related " +
				                           "to the param is not a leaf node. Param {0} parent node: {1}", key, parent.Name);
			}
		}