NLog.Config.XmlLoggingConfiguration.AddArrayItemFromElement C# (CSharp) Method

AddArrayItemFromElement() private method

private AddArrayItemFromElement ( object o, NLog.Config.NLogXmlElement element ) : bool
o object
element NLog.Config.NLogXmlElement
return bool
        private bool AddArrayItemFromElement(object o, NLogXmlElement element)
        {
            string name = element.LocalName;

            PropertyInfo propInfo;
            if (!PropertyHelper.TryGetPropertyInfo(o, name, out propInfo))
            {
                return false;
            }

            Type elementType = PropertyHelper.GetArrayItemType(propInfo);
            if (elementType != null)
            {
                IList propertyValue = (IList)propInfo.GetValue(o, null);

                object arrayItem = TryCreateLayoutInstance(element, elementType);
                // arrayItem is not a layout
                if (arrayItem == null)
                    arrayItem = FactoryHelper.CreateInstance(elementType);

                this.ConfigureObjectFromAttributes(arrayItem, element, true);
                this.ConfigureObjectFromElement(arrayItem, element);
                propertyValue.Add(arrayItem);
                return true;
            }

            return false;
        }