📄 categoriescollection.cs
字号:
using System;
using System.Collections;
namespace qminoa.BLL.PM
{
public class CategoriesCollection : ArrayList
{
public enum CategoryFields
{
Abbreviation,
Duration,
InitValue,
Name
}
public void Sort(CategoryFields sortField, bool isAscending)
{
switch (sortField)
{
case CategoryFields.Name:
base.Sort(new NameComparer());
break;
case CategoryFields.Abbreviation:
base.Sort(new AbbreviationComparer());
break;
case CategoryFields.Duration:
base.Sort(new DurationComparer());
break;
}
if (!isAscending) base.Reverse();
}
private sealed class NameComparer : IComparer
{
public int Compare(object x, object y)
{
Category first = (Category) x;
Category second = (Category) y;
return first.Name.CompareTo(second.Name);
}
}
private sealed class AbbreviationComparer : IComparer
{
public int Compare(object x, object y)
{
Category first = (Category) x;
Category second = (Category) y;
return first.Abbreviation.CompareTo(second.Abbreviation);
}
}
private sealed class DurationComparer : IComparer
{
public int Compare(object x, object y)
{
Category first = (Category) x;
Category second = (Category) y;
return first.EstDuration.CompareTo(second.EstDuration);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -