【发布时间】:2018-07-13 13:05:28
【问题描述】:
我有忽略Extra 属性的演示代码。我需要使这个类通用。
public class HelloFriend
{
public static void Main(string[] args)
{
var s = new StringBuilder();
s.Append("Id,Name\r\n");
s.Append("1,one\r\n");
s.Append("2,two\r\n");
using (var reader = new StringReader(s.ToString()))
using (var csv = new CsvReader(reader))
{
csv.Configuration.RegisterClassMap<TestMap>();
csv.GetRecords<Test>().ToList();
}
}
}
public class Test : Test1
{
public int Id { get; set; }
public string Name { get; set; }
}
public abstract class Test1
{
public decimal Extra { get; set; }
}
public class TestMap : CsvClassMap<Test>
{
public TestMap()
{
AutoMap();
Map(m => m.Extra).Ignore();
}
}
如上代码所示,如果我需要使用不同的Test1,或者Test2而不是Test,那么我需要编写另一个TestMap类。我怎样才能避免这种情况?我怎样才能使这个类通用,所以我可以传递多个类如Test 来忽略Extra 属性?
【问题讨论】: