PlatformExtensions - класс

Методы-расширения для пространства имён Tessa.Platform, а также методы-расширения для классов общего назначения из других библиотек.

Definition

Пространство имён: Tessa.Platform
Сборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
C#
public static class PlatformExtensions
Inheritance
Object    PlatformExtensions

Методы

AddBytes Вычисляет и добавляет хэш-код для массива байт.
AddDirectorySeparatorToPathEnd Добавляет в конец пути разделитель каталогов.
AppendElementsT(StringBuilder, IEnumerableT, ActionStringBuilder, Int32, T) 
AppendElementsT(StringBuilder, IEnumerableT, String, ActionStringBuilder, T) 
AppendEscaped(StringBuilder, String, Char, Char) 
AppendEscaped(StringBuilder, String, Char, Char, Char, Char) 
AppendHexademical 
AppendIndent Вставляет указанное число символов табуляции.
AppendSpaces Вставляет указанное число табуляций состоящей из пробелов.
ComputeHash(Byte) Возвращает массив байт с криптостойким хеш-значением для заданного массива байт с данными.
ComputeHash(Byte, Byte) Возвращает массив байт с криптостойким хеш-значением для заданного массива байт с данными и заданного ключа, используемого для хеширования.
CreateGlobalCacheT Создаёт глобальный кэш при помощи конструктора, который принимает уникальное имя кэша в параметре instanceName и опционально объект IUnityDisposableContainer.
DisposeAllRegistrationsAsync Освобождает ресурсы для всех экземпляров, которые были зарегистрированы в IUnityDisposableContainer, который в свою очередь зарегистрирован в текущем контейнере. Метод не выбрасывает исключений, кроме ArgumentNullException.
EndsWithDirectorySeparator Проверяет наличие разделителя пути в конце строки path.
FinalizeClientRegistration Завершает регистрацию клиента приложений.
FinalizeServerRegistration Завершает регистрацию сервера приложений.
FromCurrentSynchronizationContextSafe Возвращает диспетчер асинхронных задач из текущего контекста синхронизации. Метод аналогичен вызову TaskScheduler.FromCurrentSynchronizationContext() за тем исключением, что при отсутствии текущего контекста синхронизации будет возвращён диспетчер currentScheduler. Контекст может отсутствовать в консольных приложениях и в Unit-тестах. Пример использования: TaskScheduler.Current.FromCurrentSynchronizationContextSafe().
FromXmlStringCore Реализация метода RSACryptoServiceProvider.FromXmlString(...), которая функционирует для рантайма .NET Core. Реализация по умолчанию работает для .NET Framework, но не работает для .NET Core. Эта реализация работает для любого рантайма, поэтому рекомендуется использовать её.
GetActualLocationFileName Возвращает действительное местоположение сборки (обычно это местоположение до того, как сборка была скопирована механизмом shadow copy). При этом используется делегат AssemblyResolveActualLocationFunc или метод GetLocationFileNameFromCodeBase(Assembly), если делегат не был определён.
GetActualLocationFolder Возвращает действительное местоположение сборки (обычно это местоположение до того, как сборка была скопирована механизмом shadow copy). При этом используется делегат AssemblyResolveActualLocationFunc или метод GetLocationFolderFromCodeBase(Assembly), если делегат не был определён.
GetAwaiter Предоставляет функциональность await для WaitHandle. Задача возвращает true, если ожидание handle было завершено, или false, если ожидание завершилось таймаутом.
GetBytesWithPreamble Возвращает массив байт, кодирующий заданную строку вместе с BOM.
GetCardinality Возвращает мощность битового массива, т.е. число установленных в единицу бит.
GetConstantHashCode(Byte) Возвращает постоянный хеш-код для массива байт, значение которого не зависит от текущего процесса.
GetConstantHashCode(ReadOnlySpanByte) Возвращает постоянный хеш-код для списка байт в виде ReadOnlySpanT, значение которого не зависит от текущего процесса.
GetConstantHashCode(SpanByte) Возвращает постоянный хеш-код для списка байт в виде SpanT, значение которого не зависит от текущего процесса.
GetConstantHashCode(String) Возвращает постоянный хеш-код для строки, значение которого не зависит от текущего процесса.
GetDescription Возвращает описание, указанное в строке атрибута [Description] для заданного значения перечисления.
GetDisplayValue Возвращает отображаемое значение для типа сообщения о валидации.
GetEnumerableElementTypes Возвращает типы элементов для всех реализаций интерфейса перечисления IEnumerable<T>, который реализует заданный тип type, или null, если тип не реализует интерфейс перечисления. Например, тип string реализует IEnumerable<char>, поэтому вызов метода вернёт единственный тип typeof(char).
GetFullText Возвращает полную информацию по заданному исключению, включая серверный стектрейс для FaultException и текст нескольких исключений для AggregateException. Для обычных исключений результат аналогичен вызову метода ToString.
GetHashedString Возвращает строку, содержащую криптостойкое хеш-значение от текущей строки.
GetInterfaceElementTypes Возвращает список типов элементов во всех реализуемых интерфейсах genericInterfaceType. Возвращаемое значение не равно null. Например, если в genericInterfaceType указан тип typeof(IEnumerable<T>), и класс реализует интерфейсы IEnumerable<string> и IEnumerable<object>, то будет возвращён массив из двух типов: typeof(string) и typeof(object).
GetLocationFileNameFromCodeBase Возвращает полный путь к файлу сборки.
GetLocationFolderFromCodeBase Возвращает путь к папке со сборкой. Используйте метод GetActualLocationFolder(Assembly), если может потребоваться глобально переопределить местоположение сборки.
GetNotNullableType Возвращает вложенный тип для NullableT, если type является подтипом от NullableT, в противном случае возвращает исходный type. Например, если передать typeof(Nullable<DateTime>), то метод вернёт typeof(DateTime), а если передать typeof(DateTime), то метод вернёт его же.
GetResourceStream Возвращает Stream для указанного файла в ресурсах манифеста.
GetServiceT 
GetShortText Возвращает краткую информацию по заданному исключению, что обычно соответствует Message.
GetShortTypeName Gives a shortened assemblyQualifiedName of the type, with only its fullName and the name of its assembly. Does the same for its generic type parameters if it has any.
GetStatusCode Возвращает код ошибки HTTP-запроса в зависимости от вида исключения. Для неизвестных исключений возвращается InternalServerError.
GetStringFromEmbeddedResource(Assembly, String) Возвращает строку с содержимым файла, встроенным в сборку как Embedded Resource.
GetStringFromEmbeddedResource(Type, String) Возвращает строку с содержимым файла, встроенным в сборку как Embedded Resource.
Has(ConfigurationFlags, ConfigurationFlags)Возвращает признак того, что заданный флаг установлен.
Has(TessaPlatformFeature, TessaPlatformFeature)Возвращает признак того, что заданный флаг установлен.
Has(TessaServerConfigFlags, TessaServerConfigFlags)Возвращает признак того, что заданный флаг установлен.
HasAny(ConfigurationFlags, ConfigurationFlags)Возвращает признак того, что один из заданных флагов установлен.
HasAny(TessaPlatformFeature, TessaPlatformFeature)Возвращает признак того, что один из заданных флагов установлен.
HasAny(TessaServerConfigFlags, TessaServerConfigFlags)Возвращает признак того, что один из заданных флагов установлен.
HasNot(ConfigurationFlags, ConfigurationFlags)Возвращает признак того, что заданный флаг не установлен.
HasNot(TessaPlatformFeature, TessaPlatformFeature)Возвращает признак того, что заданный флаг не установлен.
HasNot(TessaServerConfigFlags, TessaServerConfigFlags)Возвращает признак того, что заданный флаг не установлен.
ImplementsT Возвращает признак того, что тип реализует заданный интерфейс.
InternOrNull Возвращает строку, которая была интернирована, или null, если исходная строка была равна null.
InvokeNullableAsyncT Выполняет асинхронное ожидание для завершения события, принимающего аргументы DeferredEventArgs или его наследник.
Limit Ограничивает длину строки до максимальной maxLength, вставляя троеточие на конце, если длина строки больше максимальной. Длина возвращаемого значения гарантированно не больше maxLength вместе с троеточием, если maxLength не меньше 4, в противном случае длина строки ограничивается до 4 символов.
LogException(ILogger, Exception, LogLevel) Записывает сообщение об исключении в лог с указанием необходимых деталей.
LogException(ILogger, String, Exception, LogLevel) Записывает сообщение об исключении в лог с указанием необходимых деталей.
LogResult(ILogger, IValidationResultBuilder, String) Выполняет логирование результата валидации и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
LogResult(ILogger, IValidationResultBuilder, ValidationLevel) Выполняет логирование результата валидации и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
LogResult(ILogger, ValidationResult, String) Выполняет логирование результата валидации и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
LogResult(ILogger, ValidationResult, ValidationLevel) Выполняет логирование результата валидации и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
LogResult(ILogger, ValidationResult, ValidationLevel, String) Выполняет логирование результата валидации и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
LogResultItems(ILogger, IValidationResultBuilder, String) Выполняет логирование результата валидации так, что каждое сообщение логируется отдельно со своим уровнем логирования (Info, Warn, Error), и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
LogResultItems(ILogger, IValidationResultBuilder, ValidationLevel) Выполняет логирование результата валидации так, что каждое сообщение логируется отдельно со своим уровнем логирования (Info, Warn, Error), и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
LogResultItems(ILogger, ValidationResult, String) Выполняет логирование результата валидации так, что каждое сообщение логируется отдельно со своим уровнем логирования (Info, Warn, Error), и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
LogResultItems(ILogger, ValidationResult, ValidationLevel) Выполняет логирование результата валидации так, что каждое сообщение логируется отдельно со своим уровнем логирования (Info, Warn, Error), и возвращает true, если результат содержал хотя бы одно сообщение, которое было отправлено в лог.
NormalizeLineEndingsOnCurrentPlatform Заменяет символы перевода строки \r\n таким образом, чтобы они были корректны (читаемы) на текущей платформе (Windows, Linux). Символы переводов строк \n в стиле Unix не заменяются на \r\n, поскольку их можно прочитать в Windows без замены.
NormalizeLineEndingsUnixStyle(String) Заменяет символы перевода строки \r\n на символ \n, который соответствует переводу строки на Linux. На Windows он также читается. Рекомендуется использовать для объектов конфигурации.
NormalizeLineEndingsUnixStyle(StringBuilder) Заменяет символы перевода строки \r\n на символ \n, который соответствует переводу строки на Linux. На Windows он также читается. Рекомендуется использовать для объектов конфигурации.
NormalizeLineEndingsWindowsStyle Заменяет символ перевода строки \n на символы \r\n (если символ \r отсутствовал), что соответствует переводу строки на Windows. Такие переводы строк могут не читаться в некоторых текстовых редакторах на Linux.
NormalizePathOnCurrentPlatform Заменяет символы в пути на файловой системе: "/" на "\" или наоборот, в зависимости от текущей платформы (Windows, Linux).
NormalizeSpaces Заменяет все рядом стоящие пробельные символы, такие как пробелы и табуляции, на одиночные пробелы.
NullIfEmpty Возвращает null, если строка равна null или является пустой строкой, иначе возвращает исходную строку.
OrderByAggregateExceptionTypesT Выполняет сортировку по типам исключений, содержащихся внутри исключения AggregateException, для отображения пользователю (в виде окна валидации или в логах). Обычно вызывается на коллекции aggregateException.Flatten().InnerException.
OrderByLocalizedT Сортирует значения последовательности по возрастанию по локализованному ключу, который определяется для каждого элемента.
OrderByLocalizedDescendingT Сортирует значения последовательности по убыванию по локализованному ключу, который определяется для каждого элемента.
PadBoth Выравнивает строку пробелами по центру в поле заданного размера.
RegisterApplicationClientSettingsFromConfig Выполняет регистрацию объекта с клиентской конфигурацией ITessaClientSettings, настройки которого загружаются из файла конфигурации посредством ConfigurationManager. Метод рекомендуется вызывать для клиентских приложений, таких как desktop-приложения и консольные приложения.
RegisterApplicationServerSettingsFromConfig Выполняет регистрацию объекта с серверной конфигурацией ITessaServerSettings, настройки которого загружаются из файла конфигурации посредством ConfigurationManager. Метод рекомендуется вызывать для серверных приложений, таких как плагины Chronos и веб-приложения.
RegisterClientConsoleExtensionTypes Выполняет регистрацию типов расширений для консольных клиентских приложений в контейнере IExtensionContainer.
RegisterDatabase Выполняет регистрацию зависимостей, связанных с базой данных и с контейнерами расширений. После вызова метода рекомендуется найти и зарегистрировать все расширения.
RegisterDatabaseForPlugin Выполняет регистрацию зависимостей для базы данных и контейнеров расширений для плагина Chronos с указанием используемой сессии.
RegisterGlobalCacheT Выполняет регистрацию объекта глобального кэша в контейнере IUnityContainer. Если в контейнере не зарегистрированы интерфейсы IUnityDisposableContainer или IGlobalCacheLock, то метод выполняет такую регистрацию.
RegisterInConstructorTEventArgs Выполняет регистрацию текущего глобального кэша cache в контейнере container. Все ресурсы глобального кэша могут быть освобождены, если регистрация в контейнере container завершена по причине того, что все объекты контейнера уже были освобождены. Возвращает признак того, что ресурсы глобального кэша не были освобождены.
RegisterInterprocessDependenciesOnServer Выполняет регистрацию фабрики ISharedEventSubscriberFactory для использования на сервере.
RegisterPlatformSharedDependencies Выполняет регистрацию некоторых платформенных зависимостей, используемых как на клиенте, так и на сервере.
RegisterProcessNameResolver Выполняет регистрацию объекта IProcessNameResolver с реализацией по умолчанию.
RegisterServer Выполняет регистрацию сервера приложений с заданными параметрами. После вызова метода рекомендуется найти и зарегистрировать все расширения, а затем завершить регистрацию методом FinalizeServerRegistration(IUnityContainer, IReadOnlyCollectionString), и, при необходимости, инициализировать локализацию методом InitializeLocalizationServiceAsync(IUnityContainer, ILocalizationService).
RegisterServerExtensionTypes Выполняет регистрацию серверных типов расширений в контейнере IExtensionContainer.
RegisterServerForPluginAsync(IUnityContainer, FuncISessionToken, Boolean) Выполняет полный цикл регистрации сервера приложений для плагина Chronos с указанием функции, которая возвращает токен используемой сессии.
RegisterServerForPluginAsync(IUnityContainer, ISessionToken, Boolean) Выполняет полный цикл регистрации сервера приложений для плагина Chronos с указанием используемой сессии. Генерирует новый идентификатор ServerRequestID, если он не был заполнен перед этим вызовом.
RegisterServerSettings(IUnityContainer) Выполняет регистрацию объекта с серверной конфигурацией ITessaServerSettings со значениями по умолчанию.
RegisterServerSettings(IUnityContainer, FuncIUnityContainer, ITessaServerSettings) Выполняет регистрацию объекта с серверной конфигурацией ITessaServerSettings, для которого задан способ создания посредством функции getSettingsFunc.
RegisterSharedExtensionTypes Выполняет регистрацию типов расширений, актуальных и на клиенте, и на сервере, в контейнере IExtensionContainer.
RegisterSingletonWithClassTFrom, TTo Выполняет регистрацию синглтона так, что при получении объекта типа TFrom или наследуемого объекта типа TTo будет возвращена ссылка на один и тот же экземпляр.
ReplaceLineEndings Возвращает заданную строку s, в которой переводы строк были заменены на пробелы. Не удаляет пробелы по краям строки.
ReplaceLineEndingsAndTrim Возвращает заданную строку s, в которой переводы строк были заменены на пробелы, а затем все лишние пробелы по краям строки были удалены (включая табуляции и бывшие переводы строк).
ReplaceNonBreakableToSpaces Заменяем неделимые пробелы в строке на обычные.
ReplaceSpacesToNonBreakable Заменяем обычные пробелы в строке на неделимые.
RequireServiceT 
Resolve Возвращает имя процесса, пригодное для отображения пользователю.
RunWithMaxDegreeOfParallelismAsyncT Выполняет асинхронную обработку элементов с ограничением на максимальное количество параллельных задач.
SetFlagT Устанавливает или сбрасывает указанный флаг у флагового перечисления.
SetupAssemblyResolverFromConfiguration Настраивает резолв сборок по параметрам из настроек сервера ITessaServerSettings или настроек клиента ITessaClientSettings. Если в контейнере отсутствует зарегистрированный объект, то метод не выполняет действий.
SetupCacheInvalidation Настраивает сброс связанных глобальных кэшей.
SetupCardMetadataCacheInvalidation Настраивает сброс глобальных кэшей, связанных с изменением метаинформации карточек.
SetupSchemeCacheInvalidation Настраивает сброс глобальных кэшей, связанных с изменением схемы данных.
SplitTextByWordsIntoMultipleLines Разбивает строку на многострочный текст, где длина каждой строки определяется в соответствии с указанной предпочитаемой длиной, но в действительности, может быть несколько длиннее или короче. Строка разбивается только по словам, где слово разделяется символами пробела (категория символов whitespace в Unicode).
StartOfWeek Возвращает дату на начало недели относительно заданной даты. Если передать текущую дату, то метод вернёт дату начала текущей недели.
ToDictionaryAsyncTSource, TKey, TElement Создает словарь DictionaryTKey, TValue из объекта IEnumerableT в соответствии с заданными функциями синхронного селектора ключа и асинхронного селектора значения.
ToDictionaryStorage Преобразует заданную хеш-таблицу в форму Dictionary<string, object>, которая может затем использоваться в качестве хранилища для объектов StorageObject. Если объект dictionary уже является требуемым типом, то выполняется преобразование типа без копирования.
ToGuid(Byte) Создаёт уникальный идентификатор версии 3 по стандарту RFC 4122 из текущего массива байт.
ToGuid(Int16) Преобразовать Int16 в Guid. В первые два байта сохраняется value как Big Endian, а в остальные - нули и специальные байты, чтобы сохранить валидность значения Guid.
ToGuid(Int32) Преобразовать Int16 в Guid. В первые четыре байта сохраняется value как Big Endian, а в остальные - нули и специальные байты, чтобы сохранить валидность значения Guid.
ToGuid(String) Создаёт уникальный идентификатор версии 3 по стандарту RFC 4122 из текущей строки.
ToJson Выполняет сериализацию исключения в JSON. Может использоваться для передачи исключений между сервером и клиентом.
ToPlainValidationResult Выполняет сериализацию исключения в виде объекта PlainValidationResult. Может использоваться для передачи исключений между сервером и клиентом.
ToStringAndClear 
ToStringAsConstructorParameters Преобразует уникальный идентификатор в строку, записанную в форме списка параметров, которые можно передать в конструктор Guid. Например: 0x9165b6bc, 0x688a, 0x46f5, 0xbd, 0xe8, 0xda, 0x95, 0x95, 0x88, 0xe4, 0x18
ToStringLower Преобразует логическое значение к строковому представлению в нижнем регистре.
ToTask Создаёт задачу, которая отмечается как завершённая, когда для WaitHandle сработает сигнал. Задача возвращает true, если ожидание handle было завершено, или false, если ожидание завершилось таймаутом.
ToXmlStringCore Реализация метода RSACryptoServiceProvider.ToXmlString(...), которая функционирует для рантайма .NET Core. Реализация по умолчанию работает для .NET Framework, но не работает для .NET Core. Эта реализация работает для любого рантайма, поэтому рекомендуется использовать её.
TransformForOrientation Производит трансформацию изображения в соответствии с заданным в свойствах значением ориентации, удаляя при этом соответствующее свойство.
TryGetConfigurationException Возвращает исключение, описывающее все ошибки, которые произошли при инициализации конфигурации, или null, если ошибок не было. Такое исключение можно выбросить, чтобы передать больше информации о проблеме с конфигурацией.
TryGetNestedInnerException Возвращает вложенное исключение для ex на любое число уровней вложенности, которое удовлетворяет условию predicateFunc, или null, если такое вложенное исключение не найдено.
TryResolve(IUnityContainer, Type, String) Выполняет резолв зависимости типа type с именем name и возвращает её, если резолв успешен, или возвращает null, если не удалось выполнить резолв по любой причине (например, тип не зарегистрирован или не зарегистрирована одна из его зависимостей).
TryResolveT(IUnityContainer, String) Выполняет резолв зависимости типа T с именем name и возвращает её, если резолв успешен, или возвращает default(T) (null), если не удалось выполнить резолв по любой причине (например, тип не зарегистрирован или не зарегистрирована одна из его зависимостей).
TryToInt16 Преобразовать Guid в Int16. Значение берется из первых двух байтов как Big Endian.
TryToInt32 Преобразовать Guid в Int32. Значение берется из первых четырёх байтов как Big Endian.
WaitAndUnwrap(Task) Ожидает завершение асинхронной задачи без таймаутов. При возникновении AggregateException исключение "разворачивается" в исходное исключение.
WaitAndUnwrap(Task, Int32) Ожидает завершение асинхронной задачи с указанным таймаутом. При возникновении AggregateException исключение "разворачивается" в исходное исключение.
WaitAndUnwrap(Task, TimeSpan) Ожидает завершение асинхронной задачи с указанным таймаутом. При возникновении AggregateException исключение "разворачивается" в исходное исключение. Возвращает признак того, что ожидание завершилось без таймаута.
WaitOneAsync(WaitHandle, CancellationToken) Асинхронно ожидает заданный объект WaitHandle. Ожидание выполняется без таймаута.
WaitOneAsync(WaitHandle, Int32, CancellationToken) Асинхронно ожидает заданный объект WaitHandle. Возвращает признак того, что ожидание завершилось при переходе объекта waitHandle в сигнальное состояние, а не при наступлении таймаута.
WaitOneAsync(WaitHandle, TimeSpan, CancellationToken) Асинхронно ожидает заданный объект WaitHandle. Возвращает признак того, что ожидание завершилось при переходе объекта waitHandle в сигнальное состояние, а не при наступлении таймаута.
WithoutMilliseconds Возвращает объект DateTime, полученный из исходного за вычетом миллисекунд.

См. также