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

时间:2010-08-29 15:39:28

标签: c# compiler-errors access-levels

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

2 个答案:

答案 0 :(得分:7)

此编译时错误表示您尝试访问的媒体资源不是public,访问它的唯一方法是修改其access modifier或使用reflection。< / p>

答案 1 :(得分:3)

当它无法到达时:例如,如果该课程位于另一个项目中且知名度为interal或更低(protectedprivate),那么您就赢了能够使用它。在这种情况下,您必须将其更改为公开:

public class FavoriteCollection
{
...
}