Как получить список ролей для текущего пользователя?

Лично я предпочитаю свое решение: -)

Он обрабатывает:

  • Длина строк, кратная размеру блока.
  • String длины, которые НЕ являются кратными размеру блока.
  • Длина строк, меньшая размера блока.
  • NULL и пустые строки (генерирует исключение).
  • Размеры блоков меньше 1 (генерирует исключение).

Он реализован как метод расширения и вычисляет количество фрагментов, которые будут генерироваться заранее. Он проверяет последний фрагмент, потому что если длина текста не кратная, она должна быть короче. Чистый, короткий, простой для понимания ... и работает!

    public static string[] Split(this string value, int chunkSize)
    {
        if (string.IsNullOrEmpty(value)) throw new ArgumentException("The string cannot be null.");
        if (chunkSize < 1) throw new ArgumentException("The chunk size should be equal or greater than one.");

        int remainder;
        int divResult = Math.DivRem(value.Length, chunkSize, out remainder);

        int numberOfChunks = remainder > 0 ? divResult + 1 : divResult;
        var result = new string[numberOfChunks];

        int i = 0;
        while (i < numberOfChunks - 1)
        {
            result[i] = value.Substring(i * chunkSize, chunkSize);
            i++;
        }

        int lastChunkSize = remainder > 0 ? remainder : chunkSize;
        result[i] = value.Substring(i * chunkSize, lastChunkSize);

        return result;
    }
37
задан lithelike 7 April 2009 в 03:59
поделиться

1 ответ

using System.Web.Security;

Roles.GetRolesForUser() 

Или

Roles.GetRolesForUser(String) если не быть предназначением в настоящее время входило в систему пользователь.

65
ответ дан 27 November 2019 в 04:41
поделиться
Другие вопросы по тегам:

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