使用TypeAccessor.Create FastMember时,似乎总是按字母顺序返回列的列表。是否可以告诉它保留类中列的顺序?
例如:
var testClass = new { B = "1", A = "2" };
将从GetMembers返回A列,然后返回B,我希望保留B的顺序,然后保留A的顺序。
答案 0 :(得分:2)
看起来Evk是对的,它无法通过标准API完成。为了完整起见,我将此作为答案。
答案 1 :(得分:0)
我使用列顺序选项创建了该项目的fork,并向原始存储库添加了PR。添加了OrdinalAttribute
以指定列顺序。
可以按如下所示使用序数属性:
public class ObjectReaderWithDefinedColumnsOrderType
{
[Ordinal(1)]
public byte C { get; set; }
[Ordinal(0)]
public int? D { get; set; }
}
IDataReader
中返回的ObjectReader.Create()
对象将根据定义的属性按列顺序排列。-1
顺序数)。您可以立即使用my,也可以等到PR与原始存储库合并后。