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);
}