读书人

新手C#入门不解语句有关问题

发布时间: 2012-03-14 12:01:13 作者: rapoo

新手C#入门不解语句问题
public class PersonComparerName : IComparer
{
public static IComparer Default = new PersonComparerName();

public int Compare(object x, object y)
{
if (x is Person && y is Person)
{
return Comparer.Default.Compare(
((Person)x).Name, ((Person)y).Name);
}
else
{
throw new ArgumentException(
"One or both objects to compare are not Person objects. ");
}
}
}
}

C#入门经典解释这个类有一个公共的静态字段,很容易使用:
public static IComparer Default = new PersonComparerName();
它可以使用PersonComparerName.Default获取一个实例

IComparer接口类型?Default是对象为什么会是字段?


[解决办法]
IComparer是接口,Default是个对象类型的公共字段

public static IComparer Default = new PersonComparerName();

这里定义了一个静态的公共字段Default, 该字段为一个继承于IComparer接口的类PersonComparerName的实例.

读书人网 >C#

热点推荐