public CatelType(TypeDefinition typeDefinition)
{
Mappings = new List<MemberMapping>();
Properties = new List<CatelTypeProperty>();
Ignore = true;
TypeDefinition = typeDefinition;
Name = typeDefinition.FullName;
DetermineCatelType();
if (Type == CatelTypeType.Unknown)
{
FodyEnvironment.LogWarning($"Cannot determine the Catel type used for '{Name}', type will be ignored for weaving");
return;
}
try
{
DetermineTypes();
if (!DetermineMethods())
{
return;
}
Properties = DetermineProperties();
DetermineMappings();
Ignore = false;
}
catch (Exception)
{
FodyEnvironment.LogWarning($"Failed to get additional information about type '{Name}', type will be ignored for weaving");
}
}