3

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

2 に答える 2

7

このコンパイル時エラーは、アクセスしようとしているプロパティがそうではなくpublic、それにアクセスする唯一の方法は、アクセス修飾子を変更するか、リフレクションを使用することであることを意味します。

于 2010-08-29T15:41:39.680 に答える
3

届かないほど見えない場合: たとえば、クラスが別のプロジェクトにあり、可視性がinteralまたは低い (protectedまたはprivate) 場合は、使用できません。このような場合は、パブリックに変更する必要があります。

public class FavoriteCollection
{
...
}
于 2010-08-29T15:42:19.423 に答える