Udostępnij przez


Niestandardowe marshalle wymagają dodatkowych składowych

Niestandardowy analizator marshaller został zmieniony tak, aby wymagać od wszystkich trybów marshalingu skoncentrowanych na elementach, aby spełniały wymagania zarówno dla konwersji z zarządzanych do niezarządzanych, jak i z niezarządzanych do zarządzanych.

Poprzednie zachowanie

Niestandardowe marshallery z MarshalMode.ElementIn potrzebowały tylko metody ConvertToUnmanaged. Niestandardowe marshallery z MarshalMode.ElementOut potrzebowały tylko metody ConvertToManaged.

Nowe zachowanie

Począwszy od platformy .NET 8, SYSLIB1057 jest zgłaszany dla niestandardowych marshallerów z MarshalMode.ElementIn lub MarshalMode.ElementOut, które nie mają zarówno metody ConvertToUnmanaged, jak i ConvertToManaged.

Wersja wprowadzona

.NET 8 RC 1

Typ zmiany przełamującej

Ta zmiana może mieć wpływ na zgodność źródła .

Przyczyna zmiany

Wraz z wprowadzeniem COM generowanego ze źródła, marshallerów można używać w scenariuszach przejść między zarządzanymi i niezarządzanymi środowiskami oraz odwrotnie. Ta zmiana aktualizuje analizator, aby upewnić się, że zdefiniowane przez użytkownika marshaller'y mają wymagane składniki dla wszystkich scenariuszy, w których może być używany marshaller.

Dodaj zarówno metodę ConvertToManaged, jak i metodę ConvertToUnmanaged do typu marshaller.

Interfejsy API, których dotyczy problem