Почему нужно хотеть инициализировать статические члены в статическом конструкторе вместо статических полей с инициализаторами в C #?
Я часто вижу что-то вроде этого:
public static class AgeProvider
{
static ConditionalWeakTable<MAgeProvider, Fields> table;
static AgeProvider()
{
table = new ConditionalWeakTable<MAgeProvider, Fields>();
}
private sealed class Fields
{
internal DateTime BirthDate = DateTime.UtcNow;
}
}
Это влучше, чем это:
public static class AgeProvider
{
static ConditionalWeakTable<MAgeProvider, Fields> table = new ConditionalWeakTable<MAgeProvider, Fields>();
private sealed class Fields
{
internal DateTime BirthDate = DateTime.UtcNow;
}
}
Может быть, какая-то разница в производительности? Пример выше от здесь .