Deserialization should prioritize methods by type.
For example: for Floor, ToNative methods for Floor should be called before ToNative methods for SpeckleMesh.
Actual Behaviour
SpeckleCore searches through assemblies and then all relevant methods for all types within the assembly. This sometimes causes methods from base types to be called first.
Step 0:
Expected Behaviour
Deserialization should prioritize methods by type.
For example: for
Floor
,ToNative
methods forFloor
should be called beforeToNative
methods forSpeckleMesh
.Actual Behaviour
SpeckleCore searches through assemblies and then all relevant methods for all types within the assembly. This sometimes causes methods from base types to be called first.
https://github.com/speckleworks/SpeckleCore/blob/9545e96f04d85f46203a99c21c76eeea0ea03dae/SpeckleCore/Conversion/ConverterDeserialisation.cs#L57-L68
Affected Projects
Anything using SpeckleCore.
Proposed Solution (if any)
Reverse for loop order.