Ещё раз... Написал абстрактный класс А с единственным членом — списком. Наследуясь от него создаю класс В, где статический конструктор добавляет в этот список один элемент. Потом в программе беру класс B, а список пуст

Переношу объявление списка в класс B, все работает. Почему
abstract class A
{
public static List<string> strList = new List<string>();;
}
class B : A
{
//public static List<string> strList = new List<string>(); //Если это откомментировать всё заработает!
static B()
{
strList.Add("string");
}
}
class Test
{
public static void Main()
{
Console.WriteLine(B.strList);
}
}