Автоматически не вызывается статический конструктор

У меня есть статический класс, с статическим конструктором. Как я почитал, он должен вызываться автоматически, при присваивании объекта, или ссылки на класс.

Я делаю ссылку на класс, и вылетает ошибка

System.TypeInitializationException: "The type initializer for 'Margaroli.Http.HttpClass' threw an exception."

и ниже NullReferenceException


Сам статический класс:

public static class HttpClass
    {
        public static readonly string FirstPathLink = "https://" + Client.BaseAddress.Host + "/";
        static int NumberImage = 0;
        public static string SiteName { get => Cutter.Tram(Client.BaseAddress.Host.Replace(".", "").Replace(",", "")); }

        public static CookieContainer CookieContainer;
        private static HttpClientHandler handler;
        public static HttpClient Client;
        private static IConfiguration config;
        public static IBrowsingContext Context;
        static HttpClass()
        {
            HttpClass.CookieContainer = new CookieContainer();
            handler = new HttpClientHandler() { CookieContainer = CookieContainer };
            Client = new HttpClient(handler)
            {
                Timeout = TimeSpan.FromMinutes(3),
                BaseAddress = new Uri("https://www.arcombagno.com/categoria-prodotti/accessori/")
            }; //new RedirectHandler(new HttpClientHandler()));

            config = Configuration.Default;
            Context = BrowsingContext.New(config); //Client.Timeout = TimeSpan.FromMinutes(30);

            Client.DefaultRequestHeaders.Add("User-Agent", "Agent22");
        }
   }   

Класс c main:

class Program
    {
        static async Task Main(string[] args)
        {
            Console.WriteLine(HttpClass.SiteName);

            string html = await HttpClass.Client.GetStringAsync(HttpClass.Client.BaseAddress);
        }
    }

Ответы (1 шт):

Автор решения: aepot
public static readonly string FirstPathLink = "https://" + Client.BaseAddress.Host + "/";

инициализация полей происходит раньше, чем вызов конструктора, перенесите в конструктор

public static readonly string FirstPathLink;

// ...

static HttpClass()
{
    // ...
    FirstPathLink = "https://" + Client.BaseAddress.Host + "/";
}

У нестатического поля и конструктора это работает точно так же.

→ Ссылка