Непоследовательная доступность: тип собственности менее доступен, чем свойство


Я создаю базу данных, и мне нужно проиндексировать базу данных для всех записей, которые соответствуют имени.

Вот где он используется:

dDatabase.FindAll(findArea.Match);

Это класс findArea:

public class FindArea
{
    string m_Name;
    public FindArea(string name)
    {
        m_Name = name;
    }

    public Predicate<databaseEntry> Match
    {
        get { return NameMatch; }
    }

    private bool NameMatch(databaseEntry deTemp)
    {
        if(deTemp.itemName == m_Name)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

Это урезанная функциональность класса databaseEntry:

class databaseEntry
{
    public databaseEntry(int id, int area, string name)
    {
        rfid = id;
        currentArea = area;
        itemName = name;
    }
}

Моя проблема в том, что когда я пытаюсь скомпилировать это, я получаю

" ошибка CS0053: несогласованная доступность: тип свойства - Система.Предикат ' менее доступен, чем база данных недвижимости.FindArea.Матч "

В функции Predicate<databaseEntry> Match.

Обновление

Так что спасибо за помощь, мне нужно было установить доступ класса databaseEntry в public,

То есть

public class databaseEntry

Или я мог бы изменить:

public class FindArea

Кому:

class FindArea

И оставьте databaseEntry в покое

Это произошло из-за смешивания различных возможностей доступа для двух классов

1   2  

1 ответ:

Проблема заключается в том, что класс databaseEntry не является общедоступным, и поэтому для того, чтобы предикат, основанный на классе databaseEntry, был общедоступным, необходимо также сделать класс databaseEntry общедоступным.