⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 categoriescollection.cs

📁 办公自动化系统开发,代码详尽
💻 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 + -