В чем разница между защищенным внутренним статическим и внутренним статическим в C #?

В моей сборке C # "Abc" у меня есть следующий класс и статический метод:

internal class Xyz
{
    protected internal static void MakeAwesome()
    {
        ...       
    }
}

Я заметил, что могу получить доступ к этому статическому методу из любого места в моем коде сборки. Однако удаление из него «защищенного», похоже, дает те же результаты:

internal class Xyz
{
    internal static void MakeAwesome()
    {
        ...       
    }
}

«Защищенный» здесь не имеет значения, потому что это статический метод? Или это ограничивает то, что я упустил из виду?


person Ray    schedule 07.09.2014    source источник
comment
static не имеет ничего общего с модификаторами доступа. На это отвечает дубликат.   -  person usr    schedule 07.09.2014
comment
Вздох, да. Я еще раз перепутал значение защищенного внутреннего.   -  person Ray    schedule 07.09.2014
comment
Не совсем дубликат из-за статического ключевого слова   -  person kenny    schedule 07.09.2014
comment
@kenny и внутреннее ключевое слово, которым украшен класс. но все же в ту же ловушку, в которую я попал   -  person Ray    schedule 07.09.2014


Ответы (1)


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

В вашем случае, поскольку сам класс является внутренним, у вас не может быть производных классов вне проекта, поэтому он ничего не добавляет к internal.

person SLaks    schedule 07.09.2014