C# compile error: “X is inaccessible due to its protection level”

Arash picture Arash · Aug 29, 2010 · Viewed 17.6k times · Source

when c# gives this compile error?

'Favorite.Favorites.FavoriteCollection' is inaccessible due to its protection level

private void Form1_Load(object sender, EventArgs e)
{
    Favorites objFavorites = new Favorites(); 

    objFavorites.ScanFavorites();
    foreach (WebFavorite objWebFavorite in objFavorites.FavoriteCollection)
    {
        ListViewItem objListViewItem = new ListViewItem();
        objListViewItem.Text = objWebFavorite.Name;
        objListViewItem.SubItems.Add(objWebFavorite.Url);
        lstFavorites.Items.Add(objListViewItem);
    }
}

Answer

Darin Dimitrov picture Darin Dimitrov · Aug 29, 2010

This compile-time error means that the property you are trying to access is not public and the only way to access it is by either modifying its access modifier or using reflection.