C# - 排序 ObservableCollection“'utils' 由于其保护级别而无法访问”

C# - Sorting ObservableCollection "'utils' is inaccesible due to its protection level"

我正在尝试按数字对我的可观察集合进行排序。我在这个论坛上找到了这个 post: 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;}
}

有人可以帮我解决这个问题吗? (即使我将扩展 class 设置为 public,问题仍然存在。)

我不想使用这个 insted,因为它对数字的排序很糟糕 (1005 < 15 -_-):

return string.Compare(a.Penize.ToString(), b.Penize.ToString());

如果你能给我任何帮助,我会很高兴。

确保您的 class Utils 可以在 Uzivatel class 中访问。使用 public 访问修饰符使其可访问。喜欢:

public class Utils 
{
 //Your properties and methods
}