| 1234567891011121314151617181920212223242526272829 | using System.Collections.Concurrent;using System.Collections.Generic;using System.Linq;using System.Reflection;namespace OpenSEMI.Core.Container{	internal class ParameterCache	{		private static ConcurrentDictionary<ConstructorInfo, List<ParameterInfo>> _parameterCache = new ConcurrentDictionary<ConstructorInfo, List<ParameterInfo>>();		public static List<ParameterInfo> GetParameters(ConstructorInfo constructor)		{			if (!_parameterCache.TryGetValue(constructor, out List<ParameterInfo> value))			{				List<ParameterInfo> list2 = _parameterCache[constructor] = DiscoverParameters(constructor);				value = list2;				return value;			}			return value;		}		private static List<ParameterInfo> DiscoverParameters(ConstructorInfo constructor)		{			return constructor.GetParameters().ToList();		}	}}
 |