有没有一种方法可以对属性进行排序而不必加上“order”?在他们身上
本文关键字:不必 order 他们 排序 一种 方法 属性 有没有 | 更新日期: 2023-09-27 18:06:24
我们已经知道了如何对给定的"Order"属性进行排序。
但是,有没有一种方法可以对属性进行排序,而不必在属性上加上"Order"?我想只是有一个属性"EndOfList"或"最后",将声明一定要对这些最后排序。这样我就不必用Orders弄乱代码了。
好了,我明白了。
我们可以修改Attribute类
public class Items : Attribute
{
public bool Last { get; set; }
public Items(bool last = false)
{
this.Last = last;
}
}
修改主类
public class client
{
[Items]
public string fName { get; set; }
[Items(true)]
public string lName { get; set; }
[Items]
public string mName { get; set; }
}
然后改变排序
var sorted = properties
.OrderBy(p => ((Items)p.GetCustomAttributes(true)
.FirstOrDefault(a => a is Items)).Last);