/// <summary> /// 指定したパスの SettingKey を取得します /// </summary> /// <param name="names">パスの [それぞれの階層の名前を表す文字列] の配列を指定します。 /// クラスを指定する際には "<" と ">" で囲んで名前の前に指定します</param> /// <param name="index">次に検索する名前</param> /// <returns>パスによって指定される SettingKey を返します。 /// 既存でない場合は新しく作成して返します。</returns> private SettingKey GetKey(string[] names, int index) { string cls = DEFAULT_CLASS; string name = names[index]; if (name.StartsWith("<")) { int i = name.IndexOf(">"); if (i > 0) { cls = name.Substring(1, i - 1); name = name.Substring(i + 1); } } SettingKey r = this[cls, name]; if (++index == names.Length) { return(r); } return(r.GetKey(names, index)); }