Немного доделал StructuralEquality.n
От: Аноним  
Дата: 12.08.13 18:38
Оценка:
1. Добавлены свойства атрибутов AllIgnore = true — игнорировать все поля. Поля для использования должны быть помечены как [EqualsNotIgnore] или указаны в атрибуте класса как NotIgnore
2. Добавлена возможность указать поля вариантов NotIgnore = A.name
3. добавлена возможность отключить создание неизменяемых кусков с помощью указания WhenGenerateCashField необходимого минимального числа числа константных полей. К константным полям относятся неизменяемые примитивные типы и строки. по умолчанию значение 7.
4. Произведен отказ от использования лямбд.
5. Немного сокращен генерируемый код

[StructuralEquality(Ignore = name, NotIgnore = A.name, AllIgnore = true)]
variant X
{
| A { name : string; name2 : string; other : int; }
| B { name : string }
| C {
[EqualsNotIgnore] a1:int;
[EqualsNotIgnore] a2:int;
[EqualsNotIgnore] a3:int }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.