/// <inheritdoc cref="BaseResolver" /> public override MemberInfo[] GetMemberInfos(Type?type) { if (type == null) { return(Array.Empty <MemberInfo>()); } var key = type.FullName; if (MemberInfoCache.TryGetValue(key, out MemberInfo[] value))
/// <inheritdoc cref="BaseResolver" /> public override string GetMemberName(MemberInfo memberInfo) { if (memberInfo == null) { throw new ArgumentNullException(nameof(memberInfo)); } var key = memberInfo.DeclaringType.FullName + '.' + memberInfo.Name; if (MemberInfoCache.TryGetValue(key, out string value)) { return(value); } value = memberInfo.GetCustomAttribute(typeof(DataMemberAttribute), InspectAncestors) is DataMemberAttribute dataMember ? dataMember.Name ?? memberInfo.Name : memberInfo.Name; return(MemberInfoCache.Set(key, value)); }