Share via


Anpassade marshallers kräver ytterligare medlemmar

Den anpassade marshalleranalysen har ändrats för att kräva alla elementfokuserade marskalkslägen för att uppfylla både hanterade till ohanterade och ohanterade till hanterade former.

Tidigare beteende

Anpassade marshallers med MarshalMode.ElementIn endast en ConvertToUnmanaged metod behövs. Anpassade marshallers med MarshalMode.ElementOut endast en ConvertToManaged metod behövs.

Nytt beteende

Från och med .NET 8 rapporteras SYSLIB1057 för anpassade marshallers med MarshalMode.ElementIn eller MarshalMode.ElementOut som inte har både en ConvertToUnmanaged och ConvertToManaged -metod.

Version introducerad

.NET 8 RC 1

Typ av icke-bakåtkompatibel ändring

Den här ändringen kan påverka källkompatibiliteten.

Orsak till ändringen

Med introduktionen av källgenererad COM kan marshallers användas i elementscenarier i både hanterade till ohanterade och ohanterade till hanterade scenarier. Den här ändringen uppdaterar analysverktyget för att säkerställa att användardefinierade marshallers har de medlemmar som krävs för alla scenarier där marshaller kan användas.

Lägg till både en ConvertToManaged metod och ConvertToUnmanaged till marshallertypen.

Berörda API:er