InstanceConfigurationBuilderItem - класс

Объект, соответствующий конфигурационному файлу, хранилище которого возвращается указанным методом для экземпляром класса.

Definition

Пространство имён: Tessa.Platform.Configuration
Сборка: Tessa (в Tessa.dll) Версия: 4.1.3+7e2b1422f9b8c7c41fbbc4b151a843bed05319ab
C#
public class InstanceConfigurationBuilderItem : ConfigurationBuilderItemBase
Inheritance
Object    ConfigurationBuilderItemBase    InstanceConfigurationBuilderItem

Пример

Пример класса в отдельной сборке, реализующего метод Invoke:

C#
public class MyLoaderClass
{
    public async ValueTask<Dictionary<string, object?>?> Invoke(
        Dictionary<string, object?> parameters,
        Dictionary<string, object?> storage,
        Dictionary<string, object?> info,
        CancellationToken cancellationToken = default)
    {
        // parameters - json object from ".include" directive
        // storage - current storage before including, same as context.Storage
        // info - additional info, same as context.Info

        if (parameters.TryGet<object>("uri") is string uri)
        {
            // load configuration from uri
            return new Dictionary<string, object?> { ["Result"] = 42L };
        }

        return null;
    }
}

Пример содержимого app.json для использования такого загрузчика из сборки MyLibrary.dll:

json
{
  ".include": [
    {
      ".loader.type": "MyNamespace.MyLoaderClass, MyLibrary",
      "uri": "https://my.configuration.server/files/app.json"
    }
  ]
}

Конструкторы

InstanceConfigurationBuilderItem Объект, соответствующий конфигурационному файлу, хранилище которого возвращается указанным методом для экземпляром класса.

Свойства

CreateInstanceFunc

Функция, создающая экземпляр класса, для которого выполняется метод MethodInfo для получения хранилища конфигурационного файла.

Если экземпляр реализует интерфейс IAsyncInitializable, то он будет инициализирован перед использованием.

Если экземпляр реализует интерфейс IAsyncDisposable или IDisposable, то он будет освобождён после использования.

FilePathForError

Путь до файла, записываемый в свойство FilePath при возникновении ошибок, связанных с вызовом методов этого объекта.

Может быть равен null/пустой строке, если информация по файлу не предоставляется.


(Переопределяет ConfigurationBuilderItemBaseFilePathForError)
MethodInfo

Метод, выполняемый для получения хранилища конфигурационного файла.

Должен возвращать Dictionary<string, object?>? либо явно, либо асинхронно как TaskTResult или ValueTaskTResult.

Первым параметром метод получает объект из директивы IncludeConfigurationDirective. Вторым опциональным параметром метод получает значение Storage, третьим опциональным параметром - Info, а четвёртым опциональным параметром - CancellationToken.

Parameters Параметры директивы IncludeConfigurationDirective, передаваемые в метод MethodInfo.

Методы

Equals(IConfigurationBuilderItem)Indicates whether the current object is equal to another object of the same type.
(Унаследован от ConfigurationBuilderItemBase)
Equals(Object)Determines whether the specified object is equal to the current object.
(Унаследован от ConfigurationBuilderItemBase)
EqualsCoreIndicates whether the current object is equal to another object of the same type.
(Унаследован от ConfigurationBuilderItemBase)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
FinalizeContextAsync Завершает обработку контекста context после обработки текущего объекта в блоке finally.
(Унаследован от ConfigurationBuilderItemBase)
FinalizeContextCoreAsync Подготавливает контекст context перед обработкой текущего объекта.
(Унаследован от ConfigurationBuilderItemBase)
GetHashCodeServes as the default hash function.
(Унаследован от ConfigurationBuilderItemBase)
GetTypeGets the Type of the current instance.
(Унаследован от Object)
LoadStorageAsync Загружает хранилище для текущего файла конфигурации или null, если хранилище отсутствует.
(Унаследован от ConfigurationBuilderItemBase)
LoadStorageCoreAsync Загружает хранилище для текущего файла конфигурации или null, если хранилище отсутствует.
(Переопределяет ConfigurationBuilderItemBaseLoadStorageCoreAsync(IConfigurationBuilderContext, CancellationToken))
LoadStorageFromInstanceAsync 
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
PrepareContextAsync Подготавливает контекст context перед обработкой текущего объекта.
(Унаследован от ConfigurationBuilderItemBase)
PrepareContextCoreAsync Подготавливает контекст context перед обработкой текущего объекта.
(Унаследован от ConfigurationBuilderItemBase)
ToStringReturns a string that represents the current object.
(Переопределяет ObjectToString)
TryCreateWatcherAsync Создаёт объект, обеспечивающий возможность прослушивания изменений в конфигурационном файле, или null, если такой объект не поддерживается.
(Унаследован от ConfigurationBuilderItemBase)
TryCreateWatcherCoreAsync Подготавливает контекст context перед обработкой текущего объекта.
(Унаследован от ConfigurationBuilderItemBase)

См. также