我正在尝试按数字对可观察的集合进行排序。我在这个论坛上发现这篇文章: How do I sort an observable collection?
一切正常,直到这一行:
return Utils.LogicalStringCompare(a.Penize, b.Penize);
我收到此错误的地方: "'的Utils'由于其保护级别而无法进入。"
我的代码:
static class Extensions
{
public static void Sort<T>(this ObservableCollection<T> collection) where T : IComparable
{
List<T> sorted = collection.OrderBy(num => num).ToList();
for (int i = 0; i < sorted.Count(); i++)
collection.Move(collection.IndexOf(sorted[i]), i);
}
}
public class Uzivatel : IComparable
{
public int CompareTo(object o)
{
Uzivatel a = this;
Uzivatel b = (Uzivatel)o;
return Utils.LogicalStringCompare(a.Penize, b.Penize);
}
public int Penize{get;set;}
}
有人可以帮帮我吗? (即使我将Extensions类设置为public,问题仍然存在。)
我不想使用这个insted,因为它的排序数字很差(1005 <15 -_-):
return string.Compare(a.Penize.ToString(), b.Penize.ToString());
我很乐意为你提供任何帮助。
答案 0 :(得分:1)
确保您的类Utils可以在Uzivatel类中访问。使用公共访问修饰符使其可访问。像:
public class Utils
{
//Your properties and methods
}