Dela via


Anpassade marshallers kräver ytterligare komponenter

Den anpassade marskalksanalysen har ändrats för att kräva att alla elementfokuserade marskalkslägen måste uppfylla formerna för både hanterade-till-ohanterade och ohanterade-till-hanterade strukturer.

Tidigare beteende

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

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 lanserad

.NET 8 RC 1

Typ av brytande ändring

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

Orsak till ändring

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 analyseraren för att säkerställa att användardefinierade "marshallers" har de nödvändiga medlemmarna för alla scenarier där dessa kan användas.

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

Berörda API:er