加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 23:27:00 所属栏目:百科 来源:网络整理
导读:嗨,我有一个派生自另一个班级的班级.像这样 : public class Customer { public string Date{ get; set; } public string InstallationNo{ get; set; } public string SerialNo { get; set; } } 然后我创建了一个名为Customer_U的类,该类派生自Customer publ
嗨,我有一个派生自另一个班级的班级.像这样 :

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; }            
  }

我有一个简单的问题.我有很多时间谷歌,但没有答案.我的列表中填充了以下数据:

列表与LT; Customer_U> customer = new List< Customer_U>()我使用此列表创建一个Excel.在excel colum顺序是这样的:

Bill — Date — InstalltionNo — SerialNo.

我想要这个订单.我希望“比尔”成员成为最后一栏.如何在从另一个类派生的类中创建成员的顺序

解决方法

CLR类中没有已定义的顺序;它取决于正在检查类的元数据以确定如何解释类??的实现.

例如,您的Excel库可能使用反射来检查您传递它的类,并使用反射makes no guarantees来处理事物的处理顺序.

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读