12345678910111213141516171819202122232425 |
- #if NET5_0_OR_GREATER
- using System;
- using System.Linq;
- using System.Text.Json;
- using System.Text.Json.Serialization.Metadata;
- namespace Masuit.Tools.Systems;
- public class SerializeIgnoreResolver : DefaultJsonTypeInfoResolver
- {
- public override JsonTypeInfo GetTypeInfo(Type t, JsonSerializerOptions o)
- {
- var jti = base.GetTypeInfo(t, o);
- foreach (var prop in jti.Properties)
- {
- if (prop.AttributeProvider.GetCustomAttributes(typeof(DeserializeOnlyJsonPropertyAttribute), true).Union(prop.AttributeProvider.GetCustomAttributes(typeof(SerializeIgnoreAttribute), true)).Any())
- {
- prop.ShouldSerialize = (_, _) => false;
- }
- }
- return jti;
- }
- }
- #endif
|