From a551464e4ce41c45ef58ed5f9fd2e052f0ce90b0 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 6 Jun 2023 14:09:16 +0800 Subject: [PATCH] Enable nullable annotations for Volo.Abp.Localization.Abstractions --- .../AbpStringLocalizerFactoryExtensions.cs | 9 +++------ .../Localization/IAbpStringLocalizerFactory.cs | 9 +++------ .../Volo.Abp.Localization.Abstractions.csproj | 2 ++ ...asNameWithLocalizableDisplayNameExtensions.cs | 2 +- .../IHasNameWithLocalizableDisplayName.cs | 3 +-- .../Volo/Abp/Localization/LocalizableString.cs | 16 +++++++--------- .../LocalizationResourceNameAttribute.cs | 4 ++-- 7 files changed, 19 insertions(+), 26 deletions(-) diff --git a/framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs b/framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs index 8aa2515a54..492372cc30 100644 --- a/framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs +++ b/framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs @@ -6,15 +6,13 @@ namespace Microsoft.Extensions.Localization; public static class AbpStringLocalizerFactoryExtensions { - [CanBeNull] - public static IStringLocalizer CreateDefaultOrNull(this IStringLocalizerFactory localizerFactory) + public static IStringLocalizer? CreateDefaultOrNull(this IStringLocalizerFactory localizerFactory) { return (localizerFactory as IAbpStringLocalizerFactory) ?.CreateDefaultOrNull(); } - [CanBeNull] - public static IStringLocalizer CreateByResourceNameOrNull( + public static IStringLocalizer? CreateByResourceNameOrNull( this IStringLocalizerFactory localizerFactory, string resourceName) { @@ -36,8 +34,7 @@ public static class AbpStringLocalizerFactoryExtensions return localizer; } - [ItemCanBeNull] - public static async Task CreateByResourceNameOrNullAsync( + public static async Task CreateByResourceNameOrNullAsync( this IStringLocalizerFactory localizerFactory, string resourceName) { diff --git a/framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactory.cs b/framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactory.cs index 8f6699a13d..030617583a 100644 --- a/framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactory.cs +++ b/framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactory.cs @@ -5,12 +5,9 @@ namespace Microsoft.Extensions.Localization; public interface IAbpStringLocalizerFactory { - [CanBeNull] - IStringLocalizer CreateDefaultOrNull(); + IStringLocalizer? CreateDefaultOrNull(); - [CanBeNull] - IStringLocalizer CreateByResourceNameOrNull([NotNull] string resourceName); + IStringLocalizer? CreateByResourceNameOrNull([NotNull] string resourceName); - [ItemCanBeNull] - Task CreateByResourceNameOrNullAsync([NotNull] string resourceName); + Task CreateByResourceNameOrNullAsync([NotNull] string resourceName); } diff --git a/framework/src/Volo.Abp.Localization.Abstractions/Volo.Abp.Localization.Abstractions.csproj b/framework/src/Volo.Abp.Localization.Abstractions/Volo.Abp.Localization.Abstractions.csproj index 952d59b739..1fb66c9b7c 100644 --- a/framework/src/Volo.Abp.Localization.Abstractions/Volo.Abp.Localization.Abstractions.csproj +++ b/framework/src/Volo.Abp.Localization.Abstractions/Volo.Abp.Localization.Abstractions.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.Localization.Abstractions Volo.Abp.Localization.Abstractions $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs b/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs index a73e4a6509..348d5b696b 100644 --- a/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs +++ b/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs @@ -10,7 +10,7 @@ public static class HasNameWithLocalizableDisplayNameExtensions public static string GetLocalizedDisplayName( [NotNull] this IHasNameWithLocalizableDisplayName source, [NotNull] IStringLocalizerFactory stringLocalizerFactory, - [CanBeNull] string localizationNamePrefix = "DisplayName:") + string? localizationNamePrefix = "DisplayName:") { if (source.DisplayName != null) { diff --git a/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs b/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs index f582a31379..de29047ddf 100644 --- a/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs +++ b/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs @@ -7,6 +7,5 @@ public interface IHasNameWithLocalizableDisplayName [NotNull] public string Name { get; } - [CanBeNull] - public ILocalizableString DisplayName { get; } + public ILocalizableString? DisplayName { get; } } diff --git a/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs b/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs index a98f207a55..038d170f2a 100644 --- a/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs +++ b/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs @@ -7,16 +7,14 @@ namespace Volo.Abp.Localization; public class LocalizableString : ILocalizableString, IAsyncLocalizableString { - [CanBeNull] - public string ResourceName { get; } + public string? ResourceName { get; } - [CanBeNull] - public Type ResourceType { get; } + public Type? ResourceType { get; } [NotNull] public string Name { get; } - public LocalizableString([CanBeNull] Type resourceType, [NotNull] string name) + public LocalizableString(Type? resourceType, [NotNull] string name) { Name = Check.NotNullOrEmpty(name, nameof(name)); ResourceType = resourceType; @@ -27,7 +25,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString } } - public LocalizableString([NotNull] string name, [CanBeNull] string resourceName = null) + public LocalizableString([NotNull] string name, string? resourceName = null) { Name = Check.NotNullOrEmpty(name, nameof(name)); ResourceName = resourceName; @@ -79,7 +77,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString return result; } - private IStringLocalizer CreateStringLocalizerOrNull(IStringLocalizerFactory stringLocalizerFactory) + private IStringLocalizer? CreateStringLocalizerOrNull(IStringLocalizerFactory stringLocalizerFactory) { if (ResourceType != null) { @@ -98,7 +96,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString return stringLocalizerFactory.CreateDefaultOrNull(); } - private async Task CreateStringLocalizerOrNullAsync(IStringLocalizerFactory stringLocalizerFactory) + private async Task CreateStringLocalizerOrNullAsync(IStringLocalizerFactory stringLocalizerFactory) { if (ResourceType != null) { @@ -127,7 +125,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString return new LocalizableString(resourceType, name); } - public static LocalizableString Create([NotNull] string name, [CanBeNull] string resourceName = null) + public static LocalizableString Create([NotNull] string name, string? resourceName = null) { return new LocalizableString(name, resourceName); } diff --git a/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizationResourceNameAttribute.cs b/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizationResourceNameAttribute.cs index 303214393b..fb3b5f0f7f 100644 --- a/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizationResourceNameAttribute.cs +++ b/framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizationResourceNameAttribute.cs @@ -12,7 +12,7 @@ public class LocalizationResourceNameAttribute : Attribute Name = name; } - public static LocalizationResourceNameAttribute GetOrNull(Type resourceType) + public static LocalizationResourceNameAttribute? GetOrNull(Type resourceType) { return resourceType .GetCustomAttributes(true) @@ -20,7 +20,7 @@ public class LocalizationResourceNameAttribute : Attribute .FirstOrDefault(); } - public static string GetName(Type resourceType) + public static string? GetName(Type resourceType) { return GetOrNull(resourceType)?.Name ?? resourceType.FullName; }