Чем это называют при кастинге массива объектов к массиву строк?

Одна из вещей о SubVersion, который раздражает меня, - то, что он помещает свою собственную папку в каждый каталог проекта, тогда как мерзавец только помещает один в корневой каталог. Это не , что большой из соглашения, но небольших подобных вещей складывают.

, Конечно, SubVersion имеет Черепаху, которая [обычно] очень хороша.

5
задан Michael Myers 2 August 2009 в 00:03
поделиться

3 ответа

Повышающее преобразование и понижающее преобразование массива.

РЕДАКТИРОВАТЬ: Ковариация и Контравариантность - это способность рассматривать определенные типы как одинаковые или не одинаковые в зависимости от состава и семантики наследования. Это не имеет ничего общего с кастингом массивов, и это просто случай, когда в игру вступает ковариация.

3
ответ дан 14 December 2019 в 13:43
поделиться

Если вы используете модель безопасности CLR (как и мы), тогда вам нужно будет использовать некоторые абстрактные функции для получения и установки текущего принципала, если вы хотите разрешить тестирование, и использовать их при получении или установке принципала. Это позволяет вам получить / установить принципала везде, где это необходимо (обычно в HttpContext в Интернете, и в текущем потоке в другом месте, например, в модульных тестах). Это будет выглядеть примерно так:

public static IPrincipal GetCurrentPrincipal()
{
    return HttpContext.Current != null ?
        HttpContext.Current.User :
        Thread.CurrentThread.Principal;
}

public static void SetCurrentPrincipal(IPrincipal principal)
{
     if (HttpContext.Current != null) HttpContext.Current.User = principal'
     Thread.CurrentThread.Principal = principal;
}

Если вы используете настраиваемый принципал, то их можно довольно хорошо интегрировать в его интерфейс,

0
ответ дан 14 December 2019 в 13:43
поделиться

Ковариация и контр-дисперсия. Наверное.

3
ответ дан 14 December 2019 в 13:43
поделиться
Другие вопросы по тегам:

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