From 336e7e16e75bdb0e6c6ec1822e9274892a00097d Mon Sep 17 00:00:00 2001 From: Syntriax Date: Tue, 22 Apr 2025 21:08:46 +0300 Subject: [PATCH] chore: memberInfo.HasAttribute method added --- Engine.Serialization/Converters/InstanceConverter.cs | 8 ++++---- Engine.Serialization/Engine.Serialization.csproj | 2 +- Engine.Serialization/Utils.cs | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) 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)