C # errore di compilazione: “X è inaccessibile a causa del livello di protezione”
-
02-10-2019 - |
Domanda
quando c # dà questo errore di compilazione?
'Favorite.Favorites.FavoriteCollection' è inaccessibile a causa del livello di protezione
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);
}
}
Soluzione
Questa fase di compilazione mezzi di errore che la proprietà si sta tentando di accedere non è public
e l'unico modo per accedervi è di uno modificando la sua accesso modificatore o utilizzando riflessione .
Altri suggerimenti
Quando non è abbastanza visibile da raggiungere: se, ad esempio, la classe è in un altro progetto e la visibilità è interal
o inferiore (protected
o private
), non sarà in grado di usarlo. Dovrete cambiarlo in pubblico in tal caso una:
public class FavoriteCollection
{
...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow