Простой, элегантный, в соответствии со всеми правилами “Чистого Кода”, класс для соединения с базой 1С через COMConnector.

				
					using V83;

namespace Confa1Cv3;

public class Com1C
{
    public static event Action<string>? OnConnect;
    public static event Action<string>? Progress;
    public static event Action<string>? OnError;

    public static bool Connecting { get; private set; }
    public static bool IsConnected { get; private set; }

    private static string? _connectionString;
    private static COMConnector? _con;
    private static dynamic? _база1С;
    private static string _error = "";

    public static string LastError
    {
        get { return _error; }
        set { _error = value; if (_error.Length > 0) { OnError?.Invoke(_error); } }
    }

    public static void ConnectTo1C(string connectionString)
    {
        _connectionString = connectionString;
        new Thread(Connect).Start();
    }
    private static void Connect()
    {
        if (IsConnected) return;
        try
        {
            Progress?.Invoke($"Идет соединение с сервером 1С ({_connectionString}) ...");
            Connecting = true;
            _con = new COMConnector();
            _база1С = _con.Connect(_connectionString);
            IsConnected = true;
            OnConnect?.Invoke($"Соединение с сервером 1С ({_connectionString}) установлено.");
        }
        catch (Exception ex)
        {
            IsConnected = false;
            LastError = ex.Message;
        }
        finally
        {
            Connecting = false;
        }
    }
    public static void CloseConnection()
    {
        if (IsConnected && _con != null)
        {
            try
            {
                _база1С = _con = null;
                Progress?.Invoke($"Соединение с сервером 1С ({_connectionString}) закрыто.");
            }
            catch (Exception ex)
            {
                LastError = ex.Message;
            }
            finally
            {
                IsConnected = false;
            }
        }
    }
}