20220225
This commit is contained in:
@@ -18,7 +18,7 @@ public static class SimpleMapper
|
||||
/// <param name="mode">Тип сопоставления</param>
|
||||
/// <param name="list">Список параметров для сопоставления</param>
|
||||
/// <typeparam name="TF">Класс-родитель</typeparam>
|
||||
/// <typeparam name="T">Класс-приёмник</typeparam>
|
||||
/// <typeparam name="T">Класс-приемник</typeparam>
|
||||
public static void MapEx<TF, T> (TF from, ref T to, MapMode mode, List<string> list)
|
||||
{
|
||||
//Копирую поля
|
||||
@@ -27,7 +27,7 @@ public static class SimpleMapper
|
||||
foreach (FieldInfo fieldOfA in typeOfA.GetFields())
|
||||
{
|
||||
//Проверяем выполнение условия и прерываем, если не выполняется
|
||||
if (CheckCondition(fieldOfA.Name, fieldOfA.GetValue(from), mode, list))
|
||||
if (!CheckCondition<TF>(fieldOfA.Name, fieldOfA.GetValue(from), mode, list))
|
||||
continue;
|
||||
|
||||
//Получаем FieldInfo для b по имени поля a
|
||||
@@ -41,7 +41,7 @@ public static class SimpleMapper
|
||||
foreach (PropertyInfo propertyOfA in typeOfA.GetProperties())
|
||||
{
|
||||
//Проверяем выполнение условия и прерываем, если не выполняется
|
||||
if (CheckCondition(propertyOfA.Name, propertyOfA.GetValue(from), mode, list))
|
||||
if (!CheckCondition<TF>(propertyOfA.Name, propertyOfA.GetValue(from), mode, list))
|
||||
continue;
|
||||
|
||||
//Получаем PropertyInfo для b по имени свойства a
|
||||
@@ -56,7 +56,7 @@ public static class SimpleMapper
|
||||
/// </summary>
|
||||
/// <param name="from">Параметр класса F</param>
|
||||
/// <typeparam name="TF">Класс-родитель</typeparam>
|
||||
/// <typeparam name="T">Класс-приёмник</typeparam>
|
||||
/// <typeparam name="T">Класс-приемник</typeparam>
|
||||
/// <returns>Элемент класса T</returns>
|
||||
public static T Map<TF, T> (TF from)
|
||||
{
|
||||
@@ -77,7 +77,7 @@ public static class SimpleMapper
|
||||
/// <param name="mode">Режим проверки</param>
|
||||
/// <param name="list">Список игнорирования/добавления</param>
|
||||
/// <returns></returns>
|
||||
private static bool CheckCondition (string itemName, object? itemValue, MapMode mode, ICollection<string> list)
|
||||
private static bool CheckCondition<T> (string itemName, object? itemValue, MapMode mode, ICollection<string> list)
|
||||
{
|
||||
//Если режим "Только список" и поля нет в списке,
|
||||
//либо режим "Только не в списке" и поле есть в списке
|
||||
@@ -91,7 +91,7 @@ public static class SimpleMapper
|
||||
MapMode.MapByList => list.Contains(itemName),
|
||||
MapMode.MapIgnoreList => !list.Contains(itemName),
|
||||
MapMode.MapNotDefault => itemValue != default,
|
||||
MapMode.MapNotNullOrDefault => itemValue != null || itemValue != default,
|
||||
MapMode.MapNotNullOrDefault => !Equals(itemValue, default(T)),
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(mode), mode, null)
|
||||
};
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Version>1.2022.223</Version>
|
||||
<Version>1.2022.225</Version>
|
||||
<Authors>Alexander Babaev</Authors>
|
||||
<Product>ANB Software Components Pack</Product>
|
||||
<Description>Library of some useful functions in C# language.</Description>
|
||||
@@ -15,8 +15,8 @@
|
||||
<SignAssembly>False</SignAssembly>
|
||||
<PackageProjectUrl>https://github.com/GoodBoyAlex/anbsoftware_componentspack</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/GoodBoyAlex/anbsoftware_componentspack</RepositoryUrl>
|
||||
<AssemblyVersion>1.2022.0223</AssemblyVersion>
|
||||
<FileVersion>1.2022.223</FileVersion>
|
||||
<AssemblyVersion>1.2022.0225</AssemblyVersion>
|
||||
<FileVersion>1.2022.225</FileVersion>
|
||||
<PackageId>ANBSoftware.ComponentsPack</PackageId>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<AnalysisLevel>6.0</AnalysisLevel>
|
||||
|
Reference in New Issue
Block a user