Безопасен ли поток статического конструктора С#?

Хотя все эти ответы дают threads один и тот же общий ответ, есть csharp одно предостережение.

Помните, что multithread все потенциальные производные visual-c# от универсального класса c-sharp компилируются как отдельные singleton-methods типы. Поэтому будьте осторожны c# при реализации статических singleton-class конструкторов для универсальных threading типов.

class MyObject
{
    static MyObject() 
    {
       //this code will get executed for each T.
    }
}

РЕДАКТИРОВАТЬ:

Вот демонстрация:

static void Main(string[] args)
{
    var obj = new Foo();
    var obj2 = new Foo();
}

public class Foo
{
    static Foo()
    {
         System.Diagnostics.Debug.WriteLine(String.Format("Hit {0}", typeof(T).ToString()));        
    }
}

В visual-c# консоли:

Hit System.Object
Hit System.String

c#

multithreading

singleton

2022-11-17T22:21:03+00:00