private ProxyProvidedFieldInfo(RdProvidedFieldInfo fieldInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) : base(null, context.Context) { myFieldInfo = fieldInfo; myTypeProvidersContext = typeProvidersContext; myRawConstantValue = myFieldInfo.RawConstantValue.Unbox(); myTypes = new InterruptibleLazy <ProvidedType[]>(() => myTypeProvidersContext.ProvidedTypesCache.GetOrCreateBatch(new[] { fieldInfo.DeclaringType, fieldInfo.FieldType }, typeProviderId, context)); }
public static ProxyProvidedFieldInfo Create(RdProvidedFieldInfo fieldInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => fieldInfo == null ? null : new ProxyProvidedFieldInfo(fieldInfo, typeProviderId, typeProvidersContext, context);