Каково различие между 'защищенным' и 'защищенный внутренний'?

Если IE.ReadyState и IE.Busy не работают, вы можете просто проверить элемент, который, как вы знаете, будет существовать после загрузки страницы, и добавить API Sleep, чтобы вы не стали быстрое испытание Fname, пока не будет ничего.

Спящий API равен

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

. Затем измените While-Wend на

Do Until Not Fname Is Nothing
    Set Fname = IE.document.getElementByID("firstname")
    Sleep 1000 '<- make this however long you want it to wait in ms
Loop
.
234
задан abatishchev 17 April 2012 в 01:39
поделиться

4 ответа

"Защищенный внутренний" модификатор доступа объединение из "защищенных" и "внутренних" модификаторов.

От MSDN, Модификаторы Доступа (Руководство по программированию C#) :

защитил :

к типу или участнику может получить доступ только код в том же классе или структуре, или в классе, который получен из того класса.

внутренний :

к типу или участнику может получить доступ любой код в том же блоке, но не от другого блока.

защитил внутренний :

к типу или участнику может получить доступ любой код в блоке, в котором он объявляется, ИЛИ из производного класса в другом блоке. Доступ от другого блока должен произойти в рамках объявления класса, которое происходит из класса, в котором объявляется защищенный внутренний элемент, и это должно произойти через экземпляр типа производного класса.

Примечание, что : protected internal средства" protected ИЛИ internal" (любой класс в том же блоке или любой производный класс - даже если это находится в другом блоке).

... и для полноты:

частный :

к типу или участнику может получить доступ только код в том же классе или структуре.

общественность :

к типу или участнику может получить доступ любой другой код в том же блоке или другом блоке, который ссылается на него.

частный защищенный :

Доступ ограничен содержанием класса или вводит полученный из содержания класса в рамках текущего блока.
( Доступный начиная с C# 7.2)

382
ответ дан M4N 23 November 2019 в 03:29
поделиться

protected может использоваться любыми подклассами от любого блока.

protected internal все, что protected, плюс также что-либо в том же блоке может получить доступ к нему.

Значительно, это не означает "подклассы в том же блоке" - это - объединение этих двух, не пересечение.

86
ответ дан Rudi Visser 23 November 2019 в 03:29
поделиться

На практике, о методах:

защитил - доступный для наследованных классов, в других отношениях частных.

внутренний - общественность только для классов в блоке, в других отношениях частном.

защитил внутренний - средства защитили или внутренний - методы становятся доступными для наследованных классов и для любых классов в блоке.

23
ответ дан abatishchev 23 November 2019 в 03:29
поделиться

protected : переменная или метод будут доступны только дочерним классам (в любой сборке)

protected internal : доступны дочерним классам в любой сборке и для всех классов в одной сборке

7
ответ дан 23 November 2019 в 03:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: