C# خطأ ترجمة: "X لا يمكن الوصول إليه بسبب مستوى الحماية"
-
02-10-2019 - |
سؤال
عندما يعطي C# هذا الخطأ التجميع؟
لا يمكن الوصول إلى "المفضل.
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
والطريقة الوحيدة للوصول إليها هي إما عن طريق تعديلها الوصول الى المعدل أو باستخدام انعكاس.
نصائح أخرى
عندما لا يكون من المرئي بما يكفي للوصول: إذا ، على سبيل المثال ، يكون الفصل في مشروع آخر والرؤية interal
أو أقل (protected
أو private
) ، لن تتمكن من استخدامه. سيتعين عليك تغييره إلى الأماكن العامة في مثل هذه الحالة:
public class FavoriteCollection
{
...
}
لا تنتمي إلى StackOverflow