Add default for xmlformatter

This commit is contained in:
Marc Hernandez 2024-04-25 21:30:39 -07:00
parent a3e79e83b4
commit d237c438c7

View File

@ -102,6 +102,8 @@ namespace lib
public Dictionary<string, List<string>> WLFields= new();
public Dictionary<Type, TypeProxy> TypeProxy = new();
public Types TypesDefault = Types.Fields;
}
public class XmlFormatter2: IFormatter
@ -436,7 +438,7 @@ namespace lib
bool filterFields, filterProps, doImpls, doFields, doProps;
HashSet<string> whitelistFields, whitelistProps;
GetFilters( mi, finalType, out filterFields, out filterProps, out doImpls, out doFields, out doProps, out whitelistFields, out whitelistProps );
GetFilters( m_cfg.TypesDefault, mi, finalType, out filterFields, out filterProps, out doImpls, out doFields, out doProps, out whitelistFields, out whitelistProps );
/*
List<MemberInfo> members = new();
@ -922,7 +924,7 @@ namespace lib
{
bool filterFields, filterProps, doImpls, doFields, doProps;
HashSet<string> whitelistFields, whitelistProps;
GetFilters( mi, type, out filterFields, out filterProps, out doImpls, out doFields, out doProps, out whitelistFields, out whitelistProps );
GetFilters( m_cfg.TypesDefault, mi, type, out filterFields, out filterProps, out doImpls, out doFields, out doProps, out whitelistFields, out whitelistProps );
if( doFields || doImpls )
{
@ -976,7 +978,7 @@ namespace lib
}
}
private static void GetFilters( MemberInfo mi, Type type, out bool filterFields, out bool filterProps, out bool doImpls, out bool doFields, out bool doProps, out HashSet<string> whitelistFields, out HashSet<string> whitelistProps )
private static void GetFilters( Types TypesDefault, MemberInfo mi, Type type, out bool filterFields, out bool filterProps, out bool doImpls, out bool doFields, out bool doProps, out HashSet<string> whitelistFields, out HashSet<string> whitelistProps )
{
var custWLFields = mi?.GetCustomAttribute<ChildFieldsAttribute>();
var custWLProps = mi?.GetCustomAttribute<ChildPropsAttribute>();
@ -984,7 +986,7 @@ namespace lib
filterFields = custWLFields != null;
filterProps = custWLProps != null;
var typesTodo = type.GetCustomAttribute<Ser>()?.Types ?? Types.None;
var typesTodo = type.GetCustomAttribute<Ser>()?.Types ?? TypesDefault;
doImpls = typesTodo.HasFlag( Types.Implied );
doFields = filterFields || typesTodo.HasFlag( Types.Fields );