diff --git a/Engine.Serialization/Converters/InstanceConverter.cs b/Engine.Serialization/Converters/InstanceConverter.cs index d7ae718..3ca4c72 100644 --- a/Engine.Serialization/Converters/InstanceConverter.cs +++ b/Engine.Serialization/Converters/InstanceConverter.cs @@ -62,7 +62,7 @@ public class InstanceConverter : IEngineTypeYamlConverter foreach (PropertyInfo propertyInfo in typeData.Properties) { - if (propertyInfo.GetCustomAttribute() is not null) + if (propertyInfo.HasAttribute()) continue; emitter.Emit(new Scalar(propertyInfo.Name)); @@ -78,11 +78,11 @@ public class InstanceConverter : IEngineTypeYamlConverter foreach (FieldInfo fieldInfo in typeData.Fields) { - if (fieldInfo.GetCustomAttribute() is not null) + if (fieldInfo.HasAttribute()) continue; - // if (fieldInfo.GetCustomAttribute() is null) - // continue; + if (!fieldInfo.HasAttribute()) + continue; emitter.Emit(new Scalar(fieldInfo.Name)); object? fieldValue = fieldInfo.GetValue(value); diff --git a/Engine.Serialization/Engine.Serialization.csproj b/Engine.Serialization/Engine.Serialization.csproj index 2b48ab1..c549648 100644 --- a/Engine.Serialization/Engine.Serialization.csproj +++ b/Engine.Serialization/Engine.Serialization.csproj @@ -9,7 +9,7 @@ - + diff --git a/Engine.Serialization/Utils.cs b/Engine.Serialization/Utils.cs index 731dbb8..4126f0f 100644 --- a/Engine.Serialization/Utils.cs +++ b/Engine.Serialization/Utils.cs @@ -4,6 +4,7 @@ namespace Syntriax.Engine.Serialization; internal static class Utils { + internal static bool HasAttribute(this MemberInfo memberInfo) where T : Attribute => memberInfo.GetCustomAttribute() is not null; internal static bool IsEnumerable(this Type type) => typeof(System.Collections.IEnumerable).IsAssignableFrom(type) && type != typeof(string); internal static TypeData GetTypeData(this Type objectType)