Create only 1 instance of an object per thread.

		/// <summary>
		///     Create only 1 instance of <see cref="T" /> per thread. (Only unique when using this method!)
		/// </summary>
		/// <typeparam name="T"></typeparam>
		public static class Cache<T> where T : notnull, new() {

			private static ThreadLocal<T> LocalCache { get; } = new(() => new T(), false);

			public static T? Instance { get; } = LocalCache.Value;

		}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s