หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
The custom marshaller analyzer has changed to require all element-focused marshal modes to satisfy both the managed-to-unmanaged and unmanaged-to-managed shapes.
Previous behavior
Custom marshallers with MarshalMode.ElementIn only needed a ConvertToUnmanaged method. Custom marshallers with MarshalMode.ElementOut only needed a ConvertToManaged method.
New behavior
Starting in .NET 8, SYSLIB1057 is reported for custom marshallers with MarshalMode.ElementIn or MarshalMode.ElementOut that don't have both a ConvertToUnmanaged and ConvertToManaged method.
Version introduced
.NET 8 RC 1
Type of breaking change
This change can affect source compatibility.
Reason for change
With the introduction of source-generated COM, the marshallers can be used in element scenarios in both managed-to-unmanaged and unmanaged-to-managed scenarios. This change updates the analyzer to ensure that user-defined marshallers have the required members for all scenarios where the marshaller might be used.
Recommended action
Add both a ConvertToManaged and ConvertToUnmanaged method to the marshaller type.