using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace FLY.OBJComponents.IService
{
    /// <summary>
    /// 描述 哪些属性需要同步；
    /// 如果不是继承这个接口，默认全部属性都要同步
    /// 
    /// GetSyncPropNames 与 GetNoSyncPropNames 是矛盾的
    /// 只能实现其一, 不实现的，返回null
    /// 以
    /// 1.GetSyncPropNames
    /// 2.GetNoSyncPropNames 
    /// 顺序判断， 哪个不返回null，就能那项
    /// </summary>
    public interface IPropertyOpt: INotifyPropertyChanged
    {
        /// <summary>
        /// 获取需要同步的属性
        /// </summary>
        /// <returns></returns>
        string[] GetSyncPropNames();
        /// <summary>
        /// 获取不需要同步的属性
        /// </summary>
        /// <returns></returns>
        string[] GetNoSyncPropNames();
    }
}
