public SettingsImpl(string tag, IEnumerable <Type> knownTypes, ICSActionDispatcher dispatcher = null)
     : this(tag, dispatcher)
 {
     if (knownTypes != null)
     {
         knownTypes_.AddRange(knownTypes);
     }
 }
 protected CSSettingsBase(ICSSettings settings, ICSActionDispatcher dispatcher = null)
     : base(dispatcher)
 {
     if (settings == null)
     {
         throw new ArgumentNullException("settings");
     }
     Settings = settings;
     settings.PropertyChanged  += settings_PropertyChanged;
     settings.PropertyChanging += settings_PropertyChanging;
 }
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="dispatcher">ディスパッチャ</param>
 public CSBaseNotifyPropertyChanged(ICSActionDispatcher dispatcher)
 {
     Dispatcher = dispatcher;
 }
        protected SettingsImpl(SettingsImpl parentSettings, string tag, IEnumerable <Type> knownTypes, ICSActionDispatcher dispatcher = null)
            : this(tag, knownTypes, dispatcher)
        {
            if (parentSettings == null)
            {
                throw new ArgumentNullException("parentSettings");
            }
            ParentSettings = parentSettings;

            // タグ編集
            List <string> tags     = new List <string>();
            var           settings = this;

            while (settings != null)
            {
                tags.Add(settings.Tag);
                settings = settings.ParentSettings;
            }
            tags.Reverse();
            Tag = string.Join("_", tags);
        }
 public SettingsImpl(IEnumerable <Type> knownTypes, ICSActionDispatcher dispatcher = null)
     : this(null, knownTypes, dispatcher)
 {
 }
 public SettingsImpl(string tag, ICSActionDispatcher dispatcher)
     : base(dispatcher)
 {
     Tag = tag;
 }