C# - 排序ObservableCollection"' utils'由于其保护水平而无法进入"

时间:2016-05-12 04:22:14

标签: c# sorting observablecollection

我正在尝试按数字对可观察的集合进行排序。我在这个论坛上发现这篇文章: 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());

我很乐意为你提供任何帮助。

1 个答案:

答案 0 :(得分:1)

确保您的类Utils可以在Uzivatel类中访问。使用公共访问修饰符使其可访问。像:

public class Utils 
{
 //Your properties and methods
}