그래서 난이 간단한 클래스가 :내부 클래스로서 IComparer를 구현하는 방법을
public class Mobile : IComparable
{
private string _manufactor;
private int _model;
private decimal _price;
public Mobile(string manufactor, int model, decimal price)
{
_manufactor = manufactor;
_model = model;
_price = price;
}
public int CompareTo(object obj)
{
return _price.CompareTo((obj as Mobile)._price);
}
public class MobileModelComparer : IComparer
{
public int Compare(object x, object y)
{
return (x as Mobile)._model - (y as Mobile)._model;
}
}
}
당신이 compare
_model
특성에 따라 객체 Mobile
2 사이를 구현하는 내부 클래스 MobileModelComparer
필요성을 볼 수 있듯이.
내 질문은 어떻게이 Compare
방법에서 메인에 도달하는 것입니다?
IComparer comparer = new Mobile.MobileModelComparer();
"나는 시도를'Mobile.MobileModelComparer'는"당신은 그것을 어떻게하려고 했습니까? 어떤 오류가 발생합니까? 'new Mobile.MobileModelComparer();'는 잘 작동 할 것입니다. –
잘 모르겠다 ...이게 작동해야한다 :'var mobileModelComparer = new Mobile.MobileModelComparer(); MobileModelComparer.Compare (x, y);' – Krumelur