internal static TypeInformation GetTypeInformation(Type type) { lock (s_typeNameCache) { TypeInformation typeInformation; if (!s_typeNameCache.TryGetValue(type, out typeInformation)) { bool hasTypeForwardedFrom; string assemblyName = FormatterServices.GetClrAssemblyName(type, out hasTypeForwardedFrom); typeInformation = new TypeInformation(FormatterServices.GetClrTypeFullName(type), assemblyName, hasTypeForwardedFrom); s_typeNameCache.Add(type, typeInformation); } return typeInformation; } }