C# compile error: “X is inaccessible due to its protection level”
-
02-10-2019 - |
Question
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);
}
}
Solution
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.
OTHER TIPS
When it's not visible enough to reach: If, for example, the class is in another project and the visibility is interal
or lower (protected
or private
), you won't be able to use it. You'll have to change it to public in such a case:
public class FavoriteCollection
{
...
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow