我想在CSV输出中包含子类的值.子类包含几个指示可用操作的布尔值.
public class AllowedActions {
public bool CanCheckIn { get; set; }
public bool CanCheckOut { get; set; }
}
public class ContentItem {
public AllowedActions Actions { get; set; }
public Guid? ContentTypeId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我可以创建一个包含ContentItem属性和AllowedAction类值的类映射吗?将它们添加到地图会导致"属性'布尔CanCheckIn'未定义类型'XYZ.ContentItem'"错误.
这不起作用:
Map(m => m.Actions.CanCheckIn);
Map(m => m.Actions.CanCheckOut);
Run Code Online (Sandbox Code Playgroud)
我想到了.为了正确映射子类的成员,我需要使用References而不是Map,并提供一个单独的map对象,如下所示:
References<AllowedActionsClassMap>(m => m.Actions);
...
public sealed class AllowedActionsClassMap: CsvClassMap<AllowedActions>
{
public AllowedActionsClassMap()
{
Map(m => m.CanCheckIn);
Map(m => m.CanCheckOut);
}
}
Run Code Online (Sandbox Code Playgroud)
更多信息:CsvHelper Mapping
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |