You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Renamed cache methods for consistency and clarity. Introduced dedicated property cache dictionaries and improved ALC unload handling. Added ReflectionCacheEntryAlcNotAvailableException for unavailable cache entries. Expanded PropertyDataView with TryGet methods for safe access. Updated code to modern C# syntax. Improved memory safety by exposing only views, not strong references, to cache entries.
/// Returns whether the property is an init-only property.
921
+
/// </summary>
922
+
/// <remarks>This is determined by checking if the property has a setter method and if that setter method is marked with the <see cref="IsExternalInit"/> attribute,
923
+
/// which is used by the C# compiler to indicate init-only properties.
924
+
/// If the property does not have a setter or if the setter is not marked as init-only, this property returns <see langword="false"/>.</remarks>
925
+
/// <value><see langword="true"/> if the property is an init-only property; otherwise, <see langword="false"/>.</value>
:thrownewNotSupportedException($"The underlying '{typeof(PropertyInfo).FullName}' for property '{PropertyInfo.Name}' does not have a get method.")
924
932
:thrownewNotSupportedException($"The underlying '{typeof(PropertyInfo).FullName}' for property '{PropertyInfo.Name}' does not have a get method. Check '{nameof(PropertyData)}.{nameof(PropertyData.CanRead)}' before access.");
:thrownewNotSupportedException($"The underlying '{typeof(PropertyInfo).FullName}' for property '{PropertyInfo.Name}' does not have a set method.")
930
938
:thrownewNotSupportedException($"The underlying '{typeof(PropertyInfo).FullName}' for property '{PropertyInfo.Name}' does not have a set method. Check '{nameof(PropertyData)}.{nameof(PropertyData.CanWrite)}' before access.");
0 commit comments