Browse Source

Support `Nullable` feature.

pull/16979/head
maliming 3 years ago
parent
commit
3120c05951
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/IDynamicSettingDefinitionStore.cs
  2. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionManager.cs
  3. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/IStaticSettingDefinitionStore.cs
  4. 7
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/NullDynamicSettingDefinitionStore.cs
  5. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs
  6. 4
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/StaticSettingDefinitionStore.cs

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/IDynamicSettingDefinitionStore.cs

@ -10,5 +10,5 @@ public interface IDynamicSettingDefinitionStore
Task<IReadOnlyList<SettingDefinition>> GetAllAsync();
Task<SettingDefinition> GetOrNullAsync([NotNull] string name);
Task<SettingDefinition?> GetOrNullAsync([NotNull] string name);
}

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionManager.cs

@ -13,5 +13,5 @@ public interface ISettingDefinitionManager
Task<IReadOnlyList<SettingDefinition>> GetAllAsync();
[ItemCanBeNull]
Task<SettingDefinition> GetOrNullAsync([NotNull] string name);
Task<SettingDefinition?> GetOrNullAsync([NotNull] string name);
}

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/IStaticSettingDefinitionStore.cs

@ -10,5 +10,5 @@ public interface IStaticSettingDefinitionStore
Task<IReadOnlyList<SettingDefinition>> GetAllAsync();
Task<SettingDefinition> GetOrNullAsync([NotNull] string name);
Task<SettingDefinition?> GetOrNullAsync([NotNull] string name);
}

7
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/NullDynamicSettingDefinitionStore.cs

@ -8,7 +8,8 @@ namespace Volo.Abp.Settings;
public class NullDynamicSettingDefinitionStore : IDynamicSettingDefinitionStore, ISingletonDependency
{
private readonly static Task<SettingDefinition> CachedSettingResult = Task.FromResult((SettingDefinition)null);
private readonly static Task<SettingDefinition?> CachedNullableSettingResult = Task.FromResult((SettingDefinition?)null);
private readonly static Task<SettingDefinition> CachedSettingResult = Task.FromResult((SettingDefinition)null!);
private readonly static Task<IReadOnlyList<SettingDefinition>> CachedSettingsResult = Task.FromResult((IReadOnlyList<SettingDefinition>)Array.Empty<SettingDefinition>().ToImmutableList());
@ -22,8 +23,8 @@ public class NullDynamicSettingDefinitionStore : IDynamicSettingDefinitionStore,
return CachedSettingsResult;
}
public Task<SettingDefinition> GetOrNullAsync(string name)
public Task<SettingDefinition?> GetOrNullAsync(string name)
{
return CachedSettingResult;
return CachedNullableSettingResult;
}
}

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs

@ -28,7 +28,7 @@ public class SettingDefinitionManager : ISettingDefinitionManager, ISingletonDep
return permission;
}
public virtual async Task<SettingDefinition> GetOrNullAsync(string name)
public virtual async Task<SettingDefinition?> GetOrNullAsync(string name)
{
Check.NotNull(name, nameof(name));

4
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/StaticSettingDefinitionStore.cs

@ -44,7 +44,7 @@ public class StaticSettingDefinitionStore : IStaticSettingDefinitionStore, ISing
return Task.FromResult<IReadOnlyList<SettingDefinition>>(SettingDefinitions.Value.Values.ToImmutableList());
}
public virtual Task<SettingDefinition> GetOrNullAsync(string name)
public virtual Task<SettingDefinition?> GetOrNullAsync(string name)
{
return Task.FromResult(SettingDefinitions.Value.GetOrDefault(name));
}
@ -62,7 +62,7 @@ public class StaticSettingDefinitionStore : IStaticSettingDefinitionStore, ISing
foreach (var provider in providers)
{
provider.Define(new SettingDefinitionContext(settings));
provider?.Define(new SettingDefinitionContext(settings));
}
}

Loading…
Cancel
Save