Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’analyseur de marshaleur personnalisé a été modifié pour exiger que tous les modes de marshaling axés sur les éléments répondent à la fois aux formes managée-vers-non-managée et non-managée-vers-managée.
Comportement précédent
Les marshaleurs personnalisés avec MarshalMode.ElementIn
n’avaient besoin que d’une méthode ConvertToUnmanaged
. Les marshaleurs personnalisés avec MarshalMode.ElementOut
n’avaient besoin que d’une méthode ConvertToManaged
.
Nouveau comportement
À partir de .NET 8, SYSLIB1057 est signalé pour les marshaleurs personnalisés avec MarshalMode.ElementIn
ou MarshalMode.ElementOut
qui ne possèdent pas à la fois une méthode ConvertToUnmanaged
et une méthode ConvertToManaged
.
Version introduite
.NET 8 RC 1
Type de changement cassant
Cette modification peut affecter la compatibilité source .
Raison de la modification
Avec l’introduction de COM généré par la source, les marshaleurs peuvent être utilisés dans des scénarios ciblant les éléments, à la fois du managé vers le non-managé et du non-managé vers le managé. Cette modification met à jour l’analyseur pour s’assurer que les marshallers définis par l’utilisateur ont les membres requis pour tous les scénarios où le marshaller peut être utilisé.
Action recommandée
Ajoutez à la fois une méthode ConvertToManaged
et une méthode ConvertToUnmanaged
au type de marshaleur.