Com.Aote.ObjectTools.GeneralObject.SetCollectionProperty C# (CSharp) Method

SetCollectionProperty() private method

private SetCollectionProperty ( string key, BaseObjectList ol ) : void
key string
ol BaseObjectList
return void
        private void SetCollectionProperty(string key, BaseObjectList ol)
        {
            //如果有默认对象,且要设置的列表为空,采用默认对象的复制结果
            var p = (from ps in PropertySetters where ps.PropertyName == key select ps).FirstOrDefault();
            if (p != null && p.DefaultObject != null && (ol == null || ol.Count == 0))
            {
                //复制默认对象到新对象
                ObjectList go = p.DefaultObject as ObjectList;
                ObjectList ngo = new ObjectList();
                ngo.CopyFrom(go);
                ol = ngo;
            }
            SetPropertyValue(key, ol, true);
            ol.Watch("IsModified", ol_PropertyChanged);
        }