Я работаю над проектом с четкой архитектурой, в котором сочетаются плавные сопоставления и автоматические сопоставления. Базовый проект с четкой архитектурой уже имеет метод (AutoMappingConfiguration.ShouldMap), который определяет, должен ли тип автоматически сопоставляться или нет. Мой на данный момент выглядит так:
public override bool ShouldMap(System.Type type)
{
if (type == typeof(ActiveUser))
return false;
return type.GetInterfaces().Any(x =>
x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IEntityWithTypedId<>));
}
По сути, тип ActiveUser сопоставляется с использованием свободного сопоставления, а все остальное сопоставляется с использованием автоматического сопоставления, за исключением, конечно, общих базовых классов. Я нахожусь в том месте, где я буду добавлять более свободно отображаемые классы, и я действительно не хочу продолжать добавлять операторы if в этот метод, чтобы исключить их. Мне в основном нужен метод
bool ShouldMap(System.Type type)
вернуть true, если общий класс
ClassMap<type>
существуют.
Какие-либо предложения?