?? projectscollection.cs
字號:
using System;
using System.Collections;
namespace qminoa.BLL.PM
{
public class ProjectsCollection : ArrayList
{
public enum ProjectFields
{
InitValue,
Name,
ManagerUserName,
CompletionDate,
Duration
}
public void Sort(ProjectFields sortField, bool isAscending)
{
switch (sortField)
{
case ProjectFields.Name:
base.Sort(new NameComparer());
break;
case ProjectFields.ManagerUserName:
base.Sort(new ManagerUserNameComparer());
break;
case ProjectFields.CompletionDate:
base.Sort(new CompletionDateComparer());
break;
case ProjectFields.Duration:
base.Sort(new DurationComparer());
break;
}
if (!isAscending) base.Reverse();
}
private sealed class NameComparer : IComparer
{
public int Compare(object x, object y)
{
Project first = (Project) x;
Project second = (Project) y;
return first.Name.CompareTo(second.Name);
}
}
private sealed class ManagerUserNameComparer : IComparer
{
public int Compare(object x, object y)
{
Project first = (Project) x;
Project second = (Project) y;
return first.ManagerUserName.CompareTo(second.ManagerUserName);
}
}
private sealed class CompletionDateComparer : IComparer
{
public int Compare(object x, object y)
{
Project first = (Project) x;
Project second = (Project) y;
return first.EstCompletionDate.CompareTo(second.EstCompletionDate);
}
}
private sealed class DurationComparer : IComparer
{
public int Compare(object x, object y)
{
Project first = (Project) x;
Project second = (Project) y;
return first.EstDuration.CompareTo(second.EstDuration);
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -