/// <summary> /// 클래스 인스턴스를 받아서 자동으로 ini파일로 세이브 해준다. /// 배열은 일단 1차배열까지만 지원되고 /// 지원 자료형은 int,double,bool,string /// </summary> /// <typeparam name="T">클래스형</typeparam> /// <param name="_bLoad">true일경우 Load,false일경우 Save</param> /// <param name="_sFilePath">저장혹은 읽기를 할 ini파일의 FullPass</param> /// <param name="_oObj">저장 혹은 읽기를 할 클래스의 인스턴스</param> /// <returns>읽기의 경우 파일이 없으면 false</returns> public bool LoadSave <T>(bool _bLoad, string _sFilePath, ref T _oObj) //박싱 언박싱용. 이렇게 안하면 스트럭쳐는 안된다. Call By Value... { bool bRet; using (CConfig Config = new CConfig()) { if (_bLoad) { if (!File.Exists(_sFilePath)) { return(false); } Log.Trace("Load Obj Start", _sFilePath); //파일에서 읽어서 테이블 만듬. Config.Load(_sFilePath, CConfig.EN_CONFIG_FILE_TYPE.ftIni); object obj = _oObj; bRet = LoadObj(Config, _oObj); _oObj = (T)obj; Log.Trace("Load Obj End", _sFilePath); return(true); } else { Log.Trace("Save Obj Start", _sFilePath); object obj = _oObj; bRet = SaveObj(Config, _oObj); _oObj = (T)obj; Config.Save(_sFilePath, CConfig.EN_CONFIG_FILE_TYPE.ftIni); Log.Trace("Save Obj End", _sFilePath); } } return(bRet); }