System.Threading.LazyInitializer
namespace System.Threading
{
public static class LazyInitializer
{
public static T EnsureInitialized<T>(ref T target) where T : class;
public static T EnsureInitialized<T>(ref T target, ref bool initialized, ref object syncLock);
public static T EnsureInitialized<T>(ref T target, ref bool initialized, ref object syncLock, Func<T> valueFactory);
public static T EnsureInitialized<T>(ref T target, Func<T> valueFactory) where T : class;
}
}