Browse Source

Enable nullable annotations for Volo.Abp.Localization.Abstractions

pull/17020/head
liangshiwei 3 years ago
parent
commit
a551464e4c
  1. 9
      framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs
  2. 9
      framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactory.cs
  3. 2
      framework/src/Volo.Abp.Localization.Abstractions/Volo.Abp.Localization.Abstractions.csproj
  4. 2
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs
  5. 3
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs
  6. 16
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs
  7. 4
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizationResourceNameAttribute.cs

9
framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs

@ -6,15 +6,13 @@ namespace Microsoft.Extensions.Localization;
public static class AbpStringLocalizerFactoryExtensions public static class AbpStringLocalizerFactoryExtensions
{ {
[CanBeNull] public static IStringLocalizer? CreateDefaultOrNull(this IStringLocalizerFactory localizerFactory)
public static IStringLocalizer CreateDefaultOrNull(this IStringLocalizerFactory localizerFactory)
{ {
return (localizerFactory as IAbpStringLocalizerFactory) return (localizerFactory as IAbpStringLocalizerFactory)
?.CreateDefaultOrNull(); ?.CreateDefaultOrNull();
} }
[CanBeNull] public static IStringLocalizer? CreateByResourceNameOrNull(
public static IStringLocalizer CreateByResourceNameOrNull(
this IStringLocalizerFactory localizerFactory, this IStringLocalizerFactory localizerFactory,
string resourceName) string resourceName)
{ {
@ -36,8 +34,7 @@ public static class AbpStringLocalizerFactoryExtensions
return localizer; return localizer;
} }
[ItemCanBeNull] public static async Task<IStringLocalizer?> CreateByResourceNameOrNullAsync(
public static async Task<IStringLocalizer> CreateByResourceNameOrNullAsync(
this IStringLocalizerFactory localizerFactory, this IStringLocalizerFactory localizerFactory,
string resourceName) string resourceName)
{ {

9
framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactory.cs

@ -5,12 +5,9 @@ namespace Microsoft.Extensions.Localization;
public interface IAbpStringLocalizerFactory public interface IAbpStringLocalizerFactory
{ {
[CanBeNull] IStringLocalizer? CreateDefaultOrNull();
IStringLocalizer CreateDefaultOrNull();
[CanBeNull] IStringLocalizer? CreateByResourceNameOrNull([NotNull] string resourceName);
IStringLocalizer CreateByResourceNameOrNull([NotNull] string resourceName);
[ItemCanBeNull] Task<IStringLocalizer?> CreateByResourceNameOrNullAsync([NotNull] string resourceName);
Task<IStringLocalizer> CreateByResourceNameOrNullAsync([NotNull] string resourceName);
} }

2
framework/src/Volo.Abp.Localization.Abstractions/Volo.Abp.Localization.Abstractions.csproj

@ -5,6 +5,8 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks> <TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.Localization.Abstractions</AssemblyName> <AssemblyName>Volo.Abp.Localization.Abstractions</AssemblyName>
<PackageId>Volo.Abp.Localization.Abstractions</PackageId> <PackageId>Volo.Abp.Localization.Abstractions</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> <AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

2
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs

@ -10,7 +10,7 @@ public static class HasNameWithLocalizableDisplayNameExtensions
public static string GetLocalizedDisplayName( public static string GetLocalizedDisplayName(
[NotNull] this IHasNameWithLocalizableDisplayName source, [NotNull] this IHasNameWithLocalizableDisplayName source,
[NotNull] IStringLocalizerFactory stringLocalizerFactory, [NotNull] IStringLocalizerFactory stringLocalizerFactory,
[CanBeNull] string localizationNamePrefix = "DisplayName:") string? localizationNamePrefix = "DisplayName:")
{ {
if (source.DisplayName != null) if (source.DisplayName != null)
{ {

3
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs

@ -7,6 +7,5 @@ public interface IHasNameWithLocalizableDisplayName
[NotNull] [NotNull]
public string Name { get; } public string Name { get; }
[CanBeNull] public ILocalizableString? DisplayName { get; }
public ILocalizableString DisplayName { get; }
} }

16
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs

@ -7,16 +7,14 @@ namespace Volo.Abp.Localization;
public class LocalizableString : ILocalizableString, IAsyncLocalizableString public class LocalizableString : ILocalizableString, IAsyncLocalizableString
{ {
[CanBeNull] public string? ResourceName { get; }
public string ResourceName { get; }
[CanBeNull] public Type? ResourceType { get; }
public Type ResourceType { get; }
[NotNull] [NotNull]
public string Name { get; } 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)); Name = Check.NotNullOrEmpty(name, nameof(name));
ResourceType = resourceType; 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)); Name = Check.NotNullOrEmpty(name, nameof(name));
ResourceName = resourceName; ResourceName = resourceName;
@ -79,7 +77,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString
return result; return result;
} }
private IStringLocalizer CreateStringLocalizerOrNull(IStringLocalizerFactory stringLocalizerFactory) private IStringLocalizer? CreateStringLocalizerOrNull(IStringLocalizerFactory stringLocalizerFactory)
{ {
if (ResourceType != null) if (ResourceType != null)
{ {
@ -98,7 +96,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString
return stringLocalizerFactory.CreateDefaultOrNull(); return stringLocalizerFactory.CreateDefaultOrNull();
} }
private async Task<IStringLocalizer> CreateStringLocalizerOrNullAsync(IStringLocalizerFactory stringLocalizerFactory) private async Task<IStringLocalizer?> CreateStringLocalizerOrNullAsync(IStringLocalizerFactory stringLocalizerFactory)
{ {
if (ResourceType != null) if (ResourceType != null)
{ {
@ -127,7 +125,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString
return new LocalizableString(resourceType, name); 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); return new LocalizableString(name, resourceName);
} }

4
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizationResourceNameAttribute.cs

@ -12,7 +12,7 @@ public class LocalizationResourceNameAttribute : Attribute
Name = name; Name = name;
} }
public static LocalizationResourceNameAttribute GetOrNull(Type resourceType) public static LocalizationResourceNameAttribute? GetOrNull(Type resourceType)
{ {
return resourceType return resourceType
.GetCustomAttributes(true) .GetCustomAttributes(true)
@ -20,7 +20,7 @@ public class LocalizationResourceNameAttribute : Attribute
.FirstOrDefault(); .FirstOrDefault();
} }
public static string GetName(Type resourceType) public static string? GetName(Type resourceType)
{ {
return GetOrNull(resourceType)?.Name ?? resourceType.FullName; return GetOrNull(resourceType)?.Name ?? resourceType.FullName;
} }

Loading…
Cancel
Save