userscollection.cs

来自「一个采用三层架构开放的办公自动化系统」· CS 代码 · 共 50 行

CS
50
字号
using System;
using System.Collections;

namespace qminoa.BLL.PM
{
	public class UsersCollection : ArrayList
	{
		public enum UserFields
		{
			InitValue,
			UserName, 
			RoleName
		}

		public void Sort(UserFields sortField, bool isAscending)
		{
			switch (sortField) 
			{
				case UserFields.UserName:
					base.Sort(new NameComparer());
					break;
				case UserFields.RoleName:
					base.Sort(new RoleNameComparer());
					break;
			}
			if (!isAscending) base.Reverse();
		}

		private sealed class NameComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				PMUser first = (PMUser) x;
				PMUser second = (PMUser) y;
				return first.UserName.CompareTo(second.UserName);
			}
		}

		private sealed class RoleNameComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				PMUser first = (PMUser) x;
				PMUser second = (PMUser) y;
				return first.RoleName.CompareTo(second.RoleName);
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?