public EnumLoader(string path) { this._Paths = new Dictionary <string, string>(); this._LoadedEnums = new Dictionary <string, ParseEnumFile>(); foreach (var inputPath in Directory.GetFiles(path, "*.enum.xml", SearchOption.AllDirectories)) { var name = ParseEnumFile.GetNameFromFile(inputPath); this._Paths.Add(name, inputPath); } }
public ParseEnumFile LoadEnum(string name) { if (name == null) { throw new ArgumentNullException("name"); } if (this._Paths.ContainsKey(name) == false) { throw new ArgumentException("no such enum", "name"); } if (this._LoadedEnums.ContainsKey(name) == true) { return(this._LoadedEnums[name]); } var e = ParseEnumFile.LoadFile(this._Paths[name]); this._LoadedEnums.Add(name, e); return(e); }