0 / 0 / 0
Регистрация: 06.08.2014
Сообщений: 11
1

Непонятки с "inaccessible due to its protection level"

30.08.2016, 18:17. Показов 2363. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Есть необходимость распарсить сайт, выбрал к качестве библиотеки для парсинга AngleSharp.

При получении ссылок со страницы (элементов <a>) я получаю коллекцию типа элементов.

Вот код -

C#
1
2
3
4
5
6
7
                foreach (var v in cells)
                {
                    Dictionary<string, string> booksList = new Dictionary<string, string>();
                    foreach (var a in v.QuerySelectorAll("a"))
                    {
                        booksList.Add(a.TextContent, ((AngleSharp.Dom.Html.HtmlUrlBaseElement)a).Href);
                    }
Ставлю брейкпоинт в Visual Studio, смотрю и вижу поле Href у объекта a, вижу его значение (там нужная мне ссылка). Однако в коде у объекта a поля Href не видно (IntelliSense не показывает его).

При попытке обращения как в коде выше (((AngleSharp.Dom.Html.HtmlUrlBaseElement)a).Href) студия не компилирует проект и выдает ошибку "'HtmlUrlBaseElement' is inaccessible due to its protection level". В самой библиотеке у класса HtmlUrlBaseElement все поля public.

Подскажите, в чем может быть проблема? Мне даже больше интересно почему такая фигня, ведь при дебаге и просмотре объекта я спокойно вижу поле Href и его значение.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2016, 18:17
Ответы с готовыми решениями:

ConnectionString is inaccessible due to its protection level
Не могу понять что не так. В первой форме все работает, а во второй уже нет. public void...

Error is inaccessible due to its protection level
Есть программа шифрования с авторизацией, пытаюсь сделать Вход в отдельной Форме, при нажатии на...

Is inaccessible due to its protection level после переноса элементов на другую форму
Написал работающее приложение. Решил часть функционала перенести на другую форму. После переноса...

Сериализация: "XmlSerializer() is inaccessible due to its protection level"
Добрый день! Помогите, пожалуйста. Нужно сделать сериализацию treeView1. Выдает ошибку(указана...

4
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
30.08.2016, 18:27 2
LRevan, здесь нет ответов?
0
0 / 0 / 0
Регистрация: 06.08.2014
Сообщений: 11
30.08.2016, 18:35  [ТС] 3
Нет. Свою проблему я, собственно, решил используя другие доступные поля. В поле Href просто содержится полный URL, в других отдельно домен (http://www.contoso.com) отдельно путь (test/default.html).

Мне просто интересно узнать в чем проблема-то. Я, мягко говоря, новичок и это поведение для меня загадка.
0
Администратор
Эксперт .NET
16989 / 13348 / 5209
Регистрация: 17.03.2014
Сообщений: 27,293
Записей в блоге: 1
30.08.2016, 18:44 4
Лучший ответ Сообщение было отмечено LRevan как решение

Решение

LRevan, класс HtmlBaseElement объявлен как internal. Поэтому он доступен только внутри сборки AngleSharp.

Добавлено через 47 секунд
Что касается отладчика, то он видит всё. Включая private члены классы.
1
0 / 0 / 0
Регистрация: 06.08.2014
Сообщений: 11
30.08.2016, 18:49  [ТС] 5
OwenGlendower, ага, примерно понятно. Спасибо!

Просто мне показалось странным. Поле есть, информация нужная есть. Доступа к ней нет...
0
30.08.2016, 18:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2016, 18:49
Помогаю со студенческими работами здесь

Ошибка "inaccessible due to its protection level" при обходе объектов в коллекции
Пишу в кнопке public void btn_export_Click(object sender, EventArgs e) код foreach (Obj ob...

Ошибка COM_component is unaccessible due to its protection level
создал простой COM+ компонент на C#: using System; using System.EnterpriseServices; using...

Variable 'Result' inaccessible here due to optimization
Добрый день. Смотрю в Watch значение переменной и у меня выдает Variable 'Result' inaccessible...

Inaccessible value
Решаю уравнение методом Ньютона, вылазит ошибка 'inaccessible value'. function f(x:real):double;...

inaccessible value ошибка
Ребята, помогите, пожалуйста! НЕ могу понять в чем дело. Определила тип переменной, задала ее...

Ошибка: Inaccessible value dataset
Добрый день, помогите исправить ошибку. Собственно когда проверяю procedure...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru