This commit is contained in:
mmrbnjd
2024-07-09 23:04:19 +03:30
parent 414e52f19d
commit d67a9ae440
4 changed files with 59 additions and 8 deletions

View File

@@ -0,0 +1,25 @@
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;
using System.Reflection;
namespace Back.Features
{
public class IgnorePropertiesResolver : DefaultContractResolver
{
private readonly HashSet<string> ignoreProps;
public IgnorePropertiesResolver(IEnumerable<string> propNamesToIgnore)
{
this.ignoreProps = new HashSet<string>(propNamesToIgnore);
}
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
{
JsonProperty property = base.CreateProperty(member, memberSerialization);
if (this.ignoreProps.Contains(property.PropertyName))
{
property.ShouldSerialize = _ => false;
}
return property;
}
}
}