public static Type GetCsvColumnTypeByName(string name) { Type type = typeof(CsvValueConverter); foreach (var m in type.GetMethods(BindingFlags.Public | BindingFlags.Static)) { foreach (var attr in m.GetCustomAttributes(false)) { if (attr is CsvColumnTypeAttributes) { CsvColumnTypeAttributes csvAttr = attr as CsvColumnTypeAttributes; if (name == csvAttr.mTypeName) { return(csvAttr.mColumnType); } } } } return(null); }
public static string GetReadColumnFunctionName(Type t, string typename) { Type type = typeof(CsvValueConverter); foreach (var m in type.GetMethods(BindingFlags.Public | BindingFlags.Static)) { foreach (var attr in m.GetCustomAttributes(false)) { if (attr is CsvColumnTypeAttributes) { CsvColumnTypeAttributes csvAttr = attr as CsvColumnTypeAttributes; if (t == csvAttr.mColumnType && csvAttr.mTypeName == typename) { return(m.Name); } } } } throw new Exception("Can not found function to read type " + t.ToString()); }