diff --git a/Directory.Packages.props b/Directory.Packages.props index 4e620eed..6c49af34 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -87,7 +87,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -133,7 +133,7 @@ - + diff --git a/src/PaperMalKing.Common/FeaturesHelper.cs b/src/PaperMalKing.Common/FeaturesHelper.cs index a3960985..cd99f5ee 100644 --- a/src/PaperMalKing.Common/FeaturesHelper.cs +++ b/src/PaperMalKing.Common/FeaturesHelper.cs @@ -30,9 +30,8 @@ private static EnumInfo[] CreateFeaturesInfo() { var ti = typeof(T).GetTypeInfo(); Debug.Assert(Enum.GetUnderlyingType(typeof(T)) == typeof(ulong), $"All features must have {nameof(UInt64)} as underlying type"); - return [.. Enum.GetValues().Where(v => - ti.DeclaredMembers.First(xm => xm.Name.Equals(v.ToString(), StringComparison.Ordinal)) - .GetCustomAttribute() is not null).Select(value => + return [.. Enum.GetValues() + .Where(v => Attribute.IsDefined(ti.DeclaredMembers.First(xm => xm.Name.Equals(v.ToString(), StringComparison.Ordinal)), typeof(EnumDescriptionAttribute))).Select(value => { Debug.Assert((value.ToUInt64(NumberFormatInfo.InvariantInfo) & (value.ToUInt64(CultureInfo.InvariantCulture) - 1UL)) == 0UL, $"All features of {nameof(T)} must be a power of 2"); diff --git a/src/PaperMalKing.Common/UpdateTypesHelper.cs b/src/PaperMalKing.Common/UpdateTypesHelper.cs index 4acfe5ad..1d56c2de 100644 --- a/src/PaperMalKing.Common/UpdateTypesHelper.cs +++ b/src/PaperMalKing.Common/UpdateTypesHelper.cs @@ -29,8 +29,8 @@ private static EnumInfo[] CreateFeaturesInfo() { var ti = typeof(T).GetTypeInfo(); Debug.Assert(Enum.GetUnderlyingType(typeof(T)) == typeof(byte), $"All update types must have {nameof(Byte)} as underlying type"); - return [.. Enum.GetValues().Where(v => ti.DeclaredMembers.First(xm => xm.Name.Equals(v.ToString(), StringComparison.Ordinal)) - .GetCustomAttribute() is not null).Select(value => + return [.. Enum.GetValues() + .Where(v => Attribute.IsDefined(ti.DeclaredMembers.First(xm => xm.Name.Equals(v.ToString(), StringComparison.Ordinal)), typeof(EnumDescriptionAttribute))).Select(value => { var name = value.ToString(); var attribute = ti.DeclaredMembers.First(xm => xm.Name.Equals(name, StringComparison.Ordinal))