Browse Source

Enable nullable annotations for Volo.Abp.ObjectExtending

pull/17020/head
liangshiwei 3 years ago
parent
commit
fdd547b852
  1. 2
      framework/src/Volo.Abp.ObjectExtending/Volo.Abp.ObjectExtending.csproj
  2. 4
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/Data/ExtraPropertyDictionaryExtensions.cs
  3. 10
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/Data/HasExtraPropertiesExtensions.cs
  4. 16
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ExtensibleObjectMapper.cs
  5. 30
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ExtensibleObjectValidator.cs
  6. 6
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ExtensionPropertyHelper.cs
  7. 2
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/HasExtraPropertiesObjectExtendingExtensions.cs
  8. 9
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/IBasicObjectExtensionPropertyInfo.cs
  9. 4
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/EntityExtensionConfiguration.cs
  10. 11
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfiguration.cs
  11. 4
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfigurationExtensions.cs
  12. 2
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyLookupConfiguration.cs
  13. 22
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationHelper.cs
  14. 4
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleObjectExtensionManagerExtensions.cs
  15. 7
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs
  16. 12
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs
  17. 12
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManagerExtensions.cs
  18. 11
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs
  19. 8
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyValidationContext.cs
  20. 3
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionValidationContext.cs

2
framework/src/Volo.Abp.ObjectExtending/Volo.Abp.ObjectExtending.csproj

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

4
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/Data/ExtraPropertyDictionaryExtensions.cs

@ -13,7 +13,7 @@ public static class ExtraPropertyDictionaryExtensions
return (T)extraPropertyDictionary[key];
}
extraPropertyDictionary[key] = Enum.Parse(typeof(T), extraPropertyDictionary[key].ToString(), ignoreCase: true);
extraPropertyDictionary[key] = Enum.Parse(typeof(T), extraPropertyDictionary[key].ToString()!, ignoreCase: true);
return (T)extraPropertyDictionary[key];
}
@ -24,7 +24,7 @@ public static class ExtraPropertyDictionaryExtensions
return extraPropertyDictionary[key];
}
extraPropertyDictionary[key] = Enum.Parse(enumType, extraPropertyDictionary[key].ToString(), ignoreCase: true);
extraPropertyDictionary[key] = Enum.Parse(enumType, extraPropertyDictionary[key].ToString()!, ignoreCase: true);
return extraPropertyDictionary[key];
}

10
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/Data/HasExtraPropertiesExtensions.cs

@ -18,13 +18,13 @@ public static class HasExtraPropertiesExtensions
return source.ExtraProperties.ContainsKey(name);
}
public static object GetProperty(this IHasExtraProperties source, string name, object defaultValue = null)
public static object? GetProperty(this IHasExtraProperties source, string name, object? defaultValue = null)
{
return source.ExtraProperties?.GetOrDefault(name)
?? defaultValue;
}
public static TProperty GetProperty<TProperty>(this IHasExtraProperties source, string name, TProperty defaultValue = default)
public static TProperty? GetProperty<TProperty>(this IHasExtraProperties source, string name, TProperty? defaultValue = default)
{
var value = source.GetProperty(name);
if (value == null)
@ -42,7 +42,7 @@ public static class HasExtraPropertiesExtensions
if (conversionType == typeof(Guid))
{
return (TProperty)TypeDescriptor.GetConverter(conversionType).ConvertFromInvariantString(value.ToString());
return (TProperty)TypeDescriptor.GetConverter(conversionType).ConvertFromInvariantString(value.ToString()!)!;
}
if (conversionType.IsEnum)
@ -80,7 +80,7 @@ public static class HasExtraPropertiesExtensions
return source;
}
public static TSource SetDefaultsForExtraProperties<TSource>(this TSource source, Type objectType = null)
public static TSource SetDefaultsForExtraProperties<TSource>(this TSource source, Type? objectType = null)
where TSource : IHasExtraProperties
{
if (objectType == null)
@ -98,7 +98,7 @@ public static class HasExtraPropertiesExtensions
continue;
}
source.ExtraProperties[property.Name] = property.GetDefaultValue();
source.ExtraProperties[property.Name] = property.GetDefaultValue()!;
}
return source;

16
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ExtensibleObjectMapper.cs

@ -27,7 +27,7 @@ public static class ExtensibleObjectMapper
[NotNull] TSource source,
[NotNull] TDestination destination,
MappingPropertyDefinitionChecks? definitionChecks = null,
string[] ignoredProperties = null)
string[]? ignoredProperties = null)
where TSource : IHasExtraProperties
where TDestination : IHasExtraProperties
{
@ -78,7 +78,7 @@ public static class ExtensibleObjectMapper
[NotNull] Dictionary<string, object> sourceDictionary,
[NotNull] Dictionary<string, object> destinationDictionary,
MappingPropertyDefinitionChecks? definitionChecks = null,
string[] ignoredProperties = null)
string[]? ignoredProperties = null)
where TSource : IHasExtraProperties
where TDestination : IHasExtraProperties
{
@ -113,7 +113,7 @@ public static class ExtensibleObjectMapper
[NotNull] Dictionary<string, object> sourceDictionary,
[NotNull] Dictionary<string, object> destinationDictionary,
MappingPropertyDefinitionChecks? definitionChecks = null,
string[] ignoredProperties = null)
string[]? ignoredProperties = null)
{
Check.AssignableTo<IHasExtraProperties>(sourceType, nameof(sourceType));
Check.AssignableTo<IHasExtraProperties>(destinationType, nameof(destinationType));
@ -140,7 +140,7 @@ public static class ExtensibleObjectMapper
public static bool CanMapProperty<TSource, TDestination>(
[NotNull] string propertyName,
MappingPropertyDefinitionChecks? definitionChecks = null,
string[] ignoredProperties = null)
string[]? ignoredProperties = null)
{
return CanMapProperty(
typeof(TSource),
@ -156,7 +156,7 @@ public static class ExtensibleObjectMapper
[NotNull] Type destinationType,
[NotNull] string propertyName,
MappingPropertyDefinitionChecks? definitionChecks = null,
string[] ignoredProperties = null)
string[]? ignoredProperties = null)
{
Check.AssignableTo<IHasExtraProperties>(sourceType, nameof(sourceType));
Check.AssignableTo<IHasExtraProperties>(destinationType, nameof(destinationType));
@ -175,10 +175,10 @@ public static class ExtensibleObjectMapper
private static bool CanMapProperty(
[NotNull] string propertyName,
[CanBeNull] ObjectExtensionInfo sourceObjectExtension,
[CanBeNull] ObjectExtensionInfo destinationObjectExtension,
ObjectExtensionInfo? sourceObjectExtension,
ObjectExtensionInfo? destinationObjectExtension,
MappingPropertyDefinitionChecks? definitionChecks = null,
string[] ignoredProperties = null)
string[]? ignoredProperties = null)
{
Check.NotNull(propertyName, nameof(propertyName));

30
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ExtensibleObjectValidator.cs

@ -13,7 +13,7 @@ public static class ExtensibleObjectValidator
public static void CheckValue(
[NotNull] IHasExtraProperties extensibleObject,
[NotNull] string propertyName,
[CanBeNull] object value)
object? value)
{
var validationErrors = GetValidationErrors(
extensibleObject,
@ -29,7 +29,7 @@ public static class ExtensibleObjectValidator
public static bool IsValid(
[NotNull] IHasExtraProperties extensibleObject,
[CanBeNull] ValidationContext objectValidationContext = null)
ValidationContext? objectValidationContext = null)
{
return GetValidationErrors(
extensibleObject,
@ -40,8 +40,8 @@ public static class ExtensibleObjectValidator
public static bool IsValid(
[NotNull] IHasExtraProperties extensibleObject,
[NotNull] string propertyName,
[CanBeNull] object value,
[CanBeNull] ValidationContext objectValidationContext = null)
object? value,
ValidationContext? objectValidationContext = null)
{
return GetValidationErrors(
extensibleObject,
@ -54,7 +54,7 @@ public static class ExtensibleObjectValidator
[NotNull]
public static List<ValidationResult> GetValidationErrors(
[NotNull] IHasExtraProperties extensibleObject,
[CanBeNull] ValidationContext objectValidationContext = null)
ValidationContext? objectValidationContext = null)
{
var validationErrors = new List<ValidationResult>();
@ -71,8 +71,8 @@ public static class ExtensibleObjectValidator
public static List<ValidationResult> GetValidationErrors(
[NotNull] IHasExtraProperties extensibleObject,
[NotNull] string propertyName,
[CanBeNull] object value,
[CanBeNull] ValidationContext objectValidationContext = null)
object? value,
ValidationContext? objectValidationContext = null)
{
var validationErrors = new List<ValidationResult>();
@ -90,7 +90,7 @@ public static class ExtensibleObjectValidator
public static void AddValidationErrors(
[NotNull] IHasExtraProperties extensibleObject,
[NotNull] List<ValidationResult> validationErrors,
[CanBeNull] ValidationContext objectValidationContext = null)
ValidationContext? objectValidationContext = null)
{
Check.NotNull(extensibleObject, nameof(extensibleObject));
Check.NotNull(validationErrors, nameof(validationErrors));
@ -100,7 +100,7 @@ public static class ExtensibleObjectValidator
objectValidationContext = new ValidationContext(
extensibleObject,
null,
new Dictionary<object, object>()
new Dictionary<object, object?>()
);
}
@ -133,8 +133,8 @@ public static class ExtensibleObjectValidator
[NotNull] IHasExtraProperties extensibleObject,
[NotNull] List<ValidationResult> validationErrors,
[NotNull] string propertyName,
[CanBeNull] object value,
[CanBeNull] ValidationContext objectValidationContext = null)
object? value,
ValidationContext? objectValidationContext = null)
{
Check.NotNull(extensibleObject, nameof(extensibleObject));
Check.NotNull(validationErrors, nameof(validationErrors));
@ -145,7 +145,7 @@ public static class ExtensibleObjectValidator
objectValidationContext = new ValidationContext(
extensibleObject,
null,
new Dictionary<object, object>()
new Dictionary<object, object?>()
);
}
@ -203,7 +203,7 @@ public static class ExtensibleObjectValidator
List<ValidationResult> validationErrors,
ValidationContext objectValidationContext,
ObjectExtensionPropertyInfo property,
object value)
object? value)
{
AddPropertyValidationAttributeErrors(
extensibleObject,
@ -227,7 +227,7 @@ public static class ExtensibleObjectValidator
List<ValidationResult> validationErrors,
ValidationContext objectValidationContext,
ObjectExtensionPropertyInfo property,
object value)
object? value)
{
var validationAttributes = property.GetValidationAttributes();
@ -261,7 +261,7 @@ public static class ExtensibleObjectValidator
List<ValidationResult> validationErrors,
ValidationContext objectValidationContext,
ObjectExtensionPropertyInfo property,
object value)
object? value)
{
if (!property.Validators.Any())
{

6
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ExtensionPropertyHelper.cs

@ -20,10 +20,10 @@ internal static class ExtensionPropertyHelper
}
}
public static object GetDefaultValue(
public static object? GetDefaultValue(
Type propertyType,
Func<object> defaultValueFactory,
object defaultValue)
Func<object>? defaultValueFactory,
object? defaultValue)
{
if (defaultValueFactory != null)
{

2
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/HasExtraPropertiesObjectExtendingExtensions.cs

@ -24,7 +24,7 @@ public static class HasExtraPropertiesObjectExtendingExtensions
[NotNull] this TSource source,
[NotNull] TDestination destination,
MappingPropertyDefinitionChecks? definitionChecks = null,
string[] ignoredProperties = null)
string[]? ignoredProperties = null)
where TSource : IHasExtraProperties
where TDestination : IHasExtraProperties
{

9
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/IBasicObjectExtensionPropertyInfo.cs

@ -20,19 +20,16 @@ public interface IBasicObjectExtensionPropertyInfo
[NotNull]
public List<Action<ObjectExtensionPropertyValidationContext>> Validators { get; }
[CanBeNull]
public ILocalizableString DisplayName { get; }
public ILocalizableString? DisplayName { get; }
/// <summary>
/// Uses as the default value if <see cref="DefaultValueFactory"/> was not set.
/// </summary>
[CanBeNull]
public object DefaultValue { get; set; }
public object? DefaultValue { get; set; }
/// <summary>
/// Used with the first priority to create the default value for the property.
/// Uses to the <see cref="DefaultValue"/> if this was not set.
/// </summary>
[CanBeNull]
public Func<object> DefaultValueFactory { get; set; }
public Func<object>? DefaultValueFactory { get; set; }
}

4
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/EntityExtensionConfiguration.cs

@ -26,7 +26,7 @@ public class EntityExtensionConfiguration
[NotNull]
public virtual EntityExtensionConfiguration AddOrUpdateProperty<TProperty>(
[NotNull] string propertyName,
[CanBeNull] Action<ExtensionPropertyConfiguration> configureAction = null)
Action<ExtensionPropertyConfiguration>? configureAction = null)
{
return AddOrUpdateProperty(
typeof(TProperty),
@ -39,7 +39,7 @@ public class EntityExtensionConfiguration
public virtual EntityExtensionConfiguration AddOrUpdateProperty(
[NotNull] Type propertyType,
[NotNull] string propertyName,
[CanBeNull] Action<ExtensionPropertyConfiguration> configureAction = null)
Action<ExtensionPropertyConfiguration>? configureAction = null)
{
Check.NotNull(propertyType, nameof(propertyType));
Check.NotNull(propertyName, nameof(propertyName));

11
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfiguration.cs

@ -23,8 +23,7 @@ public class ExtensionPropertyConfiguration : IHasNameWithLocalizableDisplayName
[NotNull]
public List<Action<ObjectExtensionPropertyValidationContext>> Validators { get; }
[CanBeNull]
public ILocalizableString DisplayName { get; set; }
public ILocalizableString? DisplayName { get; set; }
[NotNull]
public Dictionary<string, object> Configuration { get; }
@ -49,15 +48,13 @@ public class ExtensionPropertyConfiguration : IHasNameWithLocalizableDisplayName
/// <summary>
/// Uses as the default value if <see cref="DefaultValueFactory"/> was not set.
/// </summary>
[CanBeNull]
public object DefaultValue { get; set; }
public object? DefaultValue { get; set; }
/// <summary>
/// Used with the first priority to create the default value for the property.
/// Uses to the <see cref="DefaultValue"/> if this was not set.
/// </summary>
[CanBeNull]
public Func<object> DefaultValueFactory { get; set; }
public Func<object>? DefaultValueFactory { get; set; }
public ExtensionPropertyConfiguration(
[NotNull] EntityExtensionConfiguration entityExtensionConfiguration,
@ -80,7 +77,7 @@ public class ExtensionPropertyConfiguration : IHasNameWithLocalizableDisplayName
DefaultValue = TypeHelper.GetDefaultValue(Type);
}
public object GetDefaultValue()
public object? GetDefaultValue()
{
return ExtensionPropertyHelper.GetDefaultValue(Type, DefaultValueFactory, DefaultValue);
}

4
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfigurationExtensions.cs

@ -5,7 +5,7 @@ namespace Volo.Abp.ObjectExtending.Modularity;
public static class ExtensionPropertyConfigurationExtensions
{
public static string GetLocalizationResourceNameOrNull(
public static string? GetLocalizationResourceNameOrNull(
this ExtensionPropertyConfiguration property)
{
if (property.DisplayName is LocalizableString localizableString)
@ -16,7 +16,7 @@ public static class ExtensionPropertyConfigurationExtensions
return null;
}
public static Type GetLocalizationResourceTypeOrNull(
public static Type? GetLocalizationResourceTypeOrNull(
this ExtensionPropertyConfiguration property)
{
if (property.DisplayName is LocalizableString localizableString)

2
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyLookupConfiguration.cs

@ -4,7 +4,7 @@ namespace Volo.Abp.ObjectExtending.Modularity;
public class ExtensionPropertyLookupConfiguration
{
public string Url { get; set; }
public string Url { get; set; } = default!;
/// <summary>
/// Default value: "items".

22
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationHelper.cs

@ -29,9 +29,9 @@ public static class ModuleExtensionConfigurationHelper
public static void ApplyEntityConfigurationToApi(
string moduleName,
string objectName,
Type[] getApiTypes = null,
Type[] createApiTypes = null,
Type[] updateApiTypes = null)
Type[]? getApiTypes = null,
Type[]? createApiTypes = null,
Type[]? updateApiTypes = null)
{
lock (SyncLock)
{
@ -66,8 +66,8 @@ public static class ModuleExtensionConfigurationHelper
public static void ApplyEntityConfigurationToUi(
string moduleName,
string entityName,
Type[] createFormTypes = null,
Type[] editFormTypes = null)
Type[]? createFormTypes = null,
Type[]? editFormTypes = null)
{
lock (SyncLock)
{
@ -96,12 +96,12 @@ public static class ModuleExtensionConfigurationHelper
public static void ApplyEntityConfigurations(
string moduleName,
string entityName,
Type entityType = null,
Type[] createFormTypes = null,
Type[] editFormTypes = null,
Type[] getApiTypes = null,
Type[] createApiTypes = null,
Type[] updateApiTypes = null)
Type? entityType = null,
Type[]? createFormTypes = null,
Type[]? editFormTypes = null,
Type[]? getApiTypes = null,
Type[]? createApiTypes = null,
Type[]? updateApiTypes = null)
{
lock (SyncLock)
{

4
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleObjectExtensionManagerExtensions.cs

@ -12,9 +12,9 @@ public static class ModuleObjectExtensionManagerExtensions
{
Check.NotNull(objectExtensionManager, nameof(objectExtensionManager));
return objectExtensionManager.Configuration.GetOrAdd(
return (objectExtensionManager.Configuration.GetOrAdd(
ObjectExtensionManagerConfigurationKey,
_ => new ModuleExtensionConfigurationDictionary()
) as ModuleExtensionConfigurationDictionary;
) as ModuleExtensionConfigurationDictionary)!;
}
}

7
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs

@ -38,7 +38,7 @@ public class ObjectExtensionInfo
[NotNull]
public virtual ObjectExtensionInfo AddOrUpdateProperty<TProperty>(
[NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
Action<ObjectExtensionPropertyInfo>? configureAction = null)
{
return AddOrUpdateProperty(
typeof(TProperty),
@ -51,7 +51,7 @@ public class ObjectExtensionInfo
public virtual ObjectExtensionInfo AddOrUpdateProperty(
[NotNull] Type propertyType,
[NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
Action<ObjectExtensionPropertyInfo>? configureAction = null)
{
Check.NotNull(propertyType, nameof(propertyType));
Check.NotNull(propertyName, nameof(propertyName));
@ -74,8 +74,7 @@ public class ObjectExtensionInfo
.ToImmutableList();
}
[CanBeNull]
public virtual ObjectExtensionPropertyInfo GetPropertyOrNull(
public virtual ObjectExtensionPropertyInfo? GetPropertyOrNull(
[NotNull] string propertyName)
{
Check.NotNullOrEmpty(propertyName, nameof(propertyName));

12
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs

@ -24,7 +24,7 @@ public class ObjectExtensionManager
[NotNull]
public virtual ObjectExtensionManager AddOrUpdate<TObject>(
[CanBeNull] Action<ObjectExtensionInfo> configureAction = null)
Action<ObjectExtensionInfo>? configureAction = null)
{
return AddOrUpdate(typeof(TObject), configureAction);
}
@ -32,7 +32,7 @@ public class ObjectExtensionManager
[NotNull]
public virtual ObjectExtensionManager AddOrUpdate(
[NotNull] Type[] types,
[CanBeNull] Action<ObjectExtensionInfo> configureAction = null)
Action<ObjectExtensionInfo>? configureAction = null)
{
Check.NotNull(types, nameof(types));
@ -47,7 +47,7 @@ public class ObjectExtensionManager
[NotNull]
public virtual ObjectExtensionManager AddOrUpdate(
[NotNull] Type type,
[CanBeNull] Action<ObjectExtensionInfo> configureAction = null)
Action<ObjectExtensionInfo>? configureAction = null)
{
var extensionInfo = ObjectsExtensions.GetOrAdd(
type,
@ -59,14 +59,12 @@ public class ObjectExtensionManager
return this;
}
[CanBeNull]
public virtual ObjectExtensionInfo GetOrNull<TObject>()
public virtual ObjectExtensionInfo? GetOrNull<TObject>()
{
return GetOrNull(typeof(TObject));
}
[CanBeNull]
public virtual ObjectExtensionInfo GetOrNull([NotNull] Type type)
public virtual ObjectExtensionInfo? GetOrNull([NotNull] Type type)
{
return ObjectsExtensions.GetOrDefault(type);
}

12
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManagerExtensions.cs

@ -13,7 +13,7 @@ public static class ObjectExtensionManagerExtensions
[NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] Type[] objectTypes,
[NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
Action<ObjectExtensionPropertyInfo>? configureAction = null)
{
return objectExtensionManager.AddOrUpdateProperty(
objectTypes,
@ -26,7 +26,7 @@ public static class ObjectExtensionManagerExtensions
public static ObjectExtensionManager AddOrUpdateProperty<TObject, TProperty>(
[NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
Action<ObjectExtensionPropertyInfo>? configureAction = null)
where TObject : IHasExtraProperties
{
return objectExtensionManager.AddOrUpdateProperty(
@ -43,7 +43,7 @@ public static class ObjectExtensionManagerExtensions
[NotNull] Type[] objectTypes,
[NotNull] Type propertyType,
[NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
Action<ObjectExtensionPropertyInfo>? configureAction = null)
{
Check.NotNull(objectTypes, nameof(objectTypes));
@ -66,7 +66,7 @@ public static class ObjectExtensionManagerExtensions
[NotNull] Type objectType,
[NotNull] Type propertyType,
[NotNull] string propertyName,
[CanBeNull] Action<ObjectExtensionPropertyInfo> configureAction = null)
Action<ObjectExtensionPropertyInfo>? configureAction = null)
{
Check.NotNull(objectExtensionManager, nameof(objectExtensionManager));
@ -82,7 +82,7 @@ public static class ObjectExtensionManagerExtensions
});
}
public static ObjectExtensionPropertyInfo GetPropertyOrNull<TObject>(
public static ObjectExtensionPropertyInfo? GetPropertyOrNull<TObject>(
[NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] string propertyName)
{
@ -92,7 +92,7 @@ public static class ObjectExtensionManagerExtensions
);
}
public static ObjectExtensionPropertyInfo GetPropertyOrNull(
public static ObjectExtensionPropertyInfo? GetPropertyOrNull(
[NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] Type objectType,
[NotNull] string propertyName)

11
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfo.cs

@ -24,8 +24,7 @@ public class ObjectExtensionPropertyInfo : IHasNameWithLocalizableDisplayName, I
[NotNull]
public List<Action<ObjectExtensionPropertyValidationContext>> Validators { get; }
[CanBeNull]
public ILocalizableString DisplayName { get; set; }
public ILocalizableString? DisplayName { get; set; }
/// <summary>
/// Indicates whether to check the other side of the object mapping
@ -47,15 +46,13 @@ public class ObjectExtensionPropertyInfo : IHasNameWithLocalizableDisplayName, I
/// <summary>
/// Uses as the default value if <see cref="DefaultValueFactory"/> was not set.
/// </summary>
[CanBeNull]
public object DefaultValue { get; set; }
public object? DefaultValue { get; set; }
/// <summary>
/// Used with the first priority to create the default value for the property.
/// Uses to the <see cref="DefaultValue"/> if this was not set.
/// </summary>
[CanBeNull]
public Func<object> DefaultValueFactory { get; set; }
public Func<object>? DefaultValueFactory { get; set; }
[NotNull]
public ExtensionPropertyLookupConfiguration Lookup { get; set; }
@ -78,7 +75,7 @@ public class ObjectExtensionPropertyInfo : IHasNameWithLocalizableDisplayName, I
Lookup = new ExtensionPropertyLookupConfiguration();
}
public object GetDefaultValue()
public object? GetDefaultValue()
{
return ExtensionPropertyHelper.GetDefaultValue(Type, DefaultValueFactory, DefaultValue);
}

8
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyValidationContext.cs

@ -35,22 +35,20 @@ public class ObjectExtensionPropertyValidationContext
/// <summary>
/// The value of the validating property of the <see cref="ValidatingObject"/>.
/// </summary>
[CanBeNull]
public object Value { get; }
public object? Value { get; }
/// <summary>
/// Can be used to resolve services from the dependency injection container.
/// This can be null when SetProperty method is used on the object.
/// </summary>
[CanBeNull]
public IServiceProvider ServiceProvider => ValidationContext;
public IServiceProvider? ServiceProvider => ValidationContext;
public ObjectExtensionPropertyValidationContext(
[NotNull] ObjectExtensionPropertyInfo objectExtensionPropertyInfo,
[NotNull] IHasExtraProperties validatingObject,
[NotNull] List<ValidationResult> validationErrors,
[NotNull] ValidationContext validationContext,
[CanBeNull] object value)
object? value)
{
ExtensionPropertyInfo = Check.NotNull(objectExtensionPropertyInfo, nameof(objectExtensionPropertyInfo));
ValidatingObject = Check.NotNull(validatingObject, nameof(validatingObject));

3
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionValidationContext.cs

@ -35,8 +35,7 @@ public class ObjectExtensionValidationContext
/// <summary>
/// Can be used to resolve services from the dependency injection container.
/// </summary>
[CanBeNull]
public IServiceProvider ServiceProvider => ValidationContext;
public IServiceProvider? ServiceProvider => ValidationContext;
public ObjectExtensionValidationContext(
[NotNull] ObjectExtensionInfo objectExtensionInfo,

Loading…
Cancel
Save