C#编译错误:“由于其保护级别,X无法访问”

当c#给出这个编译错误?

由于其保护等级,’Favorite.Favorites.FavoriteCollection’无法进入

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); } } 

此编译时错误意味着您尝试访问的属性不是public的,访问它的唯一方法是修改其访问修饰符或使用reflection 。

当它无法到达时:例如,如果该类位于另一个项目中且可见性是interal或更低( protectedprivate ),则您将无法使用它。 在这种情况下,您必须将其更改为公开:

 public class FavoriteCollection { ... }