gpt4 book ai didi

C#,如何简单地改变类成员的顺序

转载 作者:太空狗 更新时间:2023-10-30 00:39:56 24 4
gpt4 key购买 nike

您好,我有一个派生自另一个类的类。像这样:

public  class Customer
{
public string Date{ get; set; }
public string InstallationNo{ get; set; }
public string SerialNo { get; set; }
}

然后我创建了一个名为 Customer_U 的类,它派生自 Customer

 public  class Customer_U:Customer
{
public string Bill{ get; set; }
}

我有一个简单的问题。我有谷歌很多次但没有答案。我有一个充满数据的列表,例如:

List<Customer_U> customer= new List<Customer_U>()我使用此列表创建了一个 excel。在 excel 中,colum 顺序是这样的:

Bill --- Date --- InstalltionNo --- SerialNo.

我不想要这个订单。我希望“Bill”成员成为最后一列。在从另一个类派生的类中创建时如何设置成员的顺序

最佳答案

CLR 类中没有定义的顺序;由检查类元数据的实现来确定如何解释类​​。

例如,您的 Excel 库可能正在使用反射来检查您传递给它的类和反射 makes no guarantees关于处理事物的顺序。

WCF DataContractSerializer 或 ProtoBuf.NET 等其他实现通过使用 DataMember 处理订单.

就是说,如果您的库可以处理动态或匿名类型,那么您可以使用其他答案中详述的方法。 .NET 似乎始终按照创建它们的相同顺序反射(reflect)这些类型。

var x = new { Z = "", Y = 1, X = true };
Console.WriteLine(x.GetType().GetProperties().Select(y => y.Name));

但是应该注意的是,这是一个实现细节,不应依赖于此。我会看看您的库是否允许您指定类中的属性与电子表格中的列之间的映射,否则您可能将来会遇到奇怪的错误!

关于C#,如何简单地改变类成员的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32203189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com