> For the complete documentation index, see [llms.txt](https://prethink.gitbook.io/prtelegrambot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prethink.gitbook.io/prtelegrambot/ru/api/klassy/prsettingsprovider.md).

# PRSettingsProvider

```csharp
using PRTelegramBot.Interfaces;
using PRTelegramBot.Providers;
using PRTelegramBot.Wrappers;

/// <summary>
/// Провайдер глобальных настроек.  
/// </summary>
public class PRSettingsProvider : IPRSettings
{
    #region IPRSettings

    /// <inheritdoc />
    public IPRSerializer Serializator { get; set; } = new JsonSerializerWrapper();

    #endregion

    #region Поля и свойства

    /// <summary>
    /// Lazy инициализация глобального экземпляра настроек.
    /// </summary>
    private static Lazy<IPRSettings> instance = new Lazy<IPRSettings>(() => new PRSettingsProvider());

    /// <summary>
    /// Глобальный экземпляр настроек.
    /// </summary>
    public static IPRSettings Instance => instance.Value;

    #endregion

    #region Методы

    /// <summary>
    /// Установить новый экземпляр глобальных настроек.
    /// </summary>
    /// <param name="settings"></param>
    public static void SetSettings(IPRSettings settings)
    {
        instance = new Lazy<IPRSettings>(() => settings);
    }

    /// <inheritdoc />
    public void SetSerializator(IPRSerializer serializator)
    {
        Serializator = serializator;
    }

    #endregion

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

    /// <summary>
    /// Конструктор.    
    /// </summary>
    private PRSettingsProvider() { }

    #endregion
}

```
