예제 #1
0
		/// <summary>
		/// ファイルデータDictionary取得
		/// </summary>
		/// <typeparam name="TKey">DictionaryのKey型</typeparam>
		/// <typeparam name="TEntity">CSVのデータModel</typeparam>
		/// <param name="filePath">ファイルFullPath</param>
		/// <param name="keySelector">DictionaryのKey項目Selector</param>
		/// <returns>ファイルデータDictionary</returns>
		public virtual IDictionary<TKey, TEntity> GetFileDataToDictionary<TKey, TEntity>(string filePath, Func<TEntity, TKey> keySelector)
			where TEntity : class, new()
		{
			using (var reader = new CsvReaderWrap(new StreamReader(filePath), CsvConf))
			{
				return reader.GetRecords<TEntity>().ToDictionary(keySelector);
			}
		}
예제 #2
0
		/// <summary>
		/// ファイルデータ取得
		/// </summary>
		/// <typeparam name="TEntity">CSVのデータModel</typeparam>
		/// <param name="filePath">ファイルFullPath</param>
		/// <returns>ファイルデータ</returns>
		public virtual IEnumerable<TEntity> GetFileData<TEntity>(string filePath)
			where TEntity : class, new()
		{
			using (var reader = new CsvReaderWrap(new StreamReader(filePath), CsvConf))
			{
				// CsvReader.GetRecordsのIEnumerable<T>は遅延実行。
				// Using外で利用する為に、ToArray()で実体化している。
				return reader.GetRecords<TEntity>().ToArray();
			}
		}
예제 #3
0
		/// <summary>
		/// コンストラクタ(File読込設定情報は、MyCsvReaderの初期値を設定)
		/// </summary>
		public MyCsvReader()
		{
			CsvConf = CsvReaderWrap.GetInitCsvConf();
		}