Udostępnij za pośrednictwem


Niestandardowe marshallers wymagają dodatkowych elementów członkowskich

Niestandardowy analizator marshaller zmienił się tak, aby wymagał wszystkich trybów marshalingu skoncentrowanego na elementach, aby spełnić wymagania zarówno zarządzanych do niezarządzanych, jak i niezarządzanych kształtów.

Poprzednie zachowanie

Niestandardowe marshallers z MarshalMode.ElementIn wymaganą ConvertToUnmanaged tylko metodą. Niestandardowe marshallers z MarshalMode.ElementOut wymaganą ConvertToManaged tylko metodą.

Nowe zachowanie

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

Wprowadzona wersja

.NET 8 RC 1

Typ zmiany powodującej niezgodność

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

Przyczyna wprowadzenia zmiany

Wraz z wprowadzeniem modelu COM generowanego przez źródło można używać marshallerów w scenariuszach elementów zarówno w scenariuszach zarządzanych do niezarządzanych, jak i niezarządzanych do zarządzanych. Ta zmiana aktualizuje analizator, aby upewnić się, że marshallers zdefiniowane przez użytkownika mają wymagane elementy członkowskie dla wszystkich scenariuszy, w których może być używany marshaller.

Dodaj metodę ConvertToManaged i ConvertToUnmanaged do typu marshaller.

Dotyczy interfejsów API