Condividi tramite


CreateObjectFlags.Unwrap annulla il ritorno a capo solo nell'istanza di destinazione

In precedenza, se è stato chiamato GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags) in un'istanza di ComWrappers con il flag CreateObjectFlags.Unwrap, a un wrapper dell'oggetto gestito è stato rimosso il wrapping da qualsiasi istanza di ComWrappers. Quando viene specificato il flag, viene annullato il ritorno a capo solo dei wrapper dall’istanza ComWrappers chiamata da GetOrCreateObjectFromComInstance.

Il flag di Unwrap è l'unica API che ha raggiunto le istanze di ComWrappers in modo che il comportamento non fosse intuitivo. Inoltre, la nuova API ComWrappers.TryGetObject(IntPtr, Object) è disponibile per annullare il wrapping di un oggetto COM da qualsiasi istanza di ComWrappers.

Comportamento precedente

La chiamata di GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags) in un'istanza di ComWrappers con il flag CreateObjectFlags.Unwrap annulla il wrapping di un wrapper di oggetti gestito da qualsiasi istanza di ComWrappers.

Nuovo comportamento

La chiamata GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags) a un'istanza ComWrappers con il CreateObjectFlags.Unwrap flag annulla solo il wrapping di un wrapper di oggetto gestito dall'istanza ComWrappers di cui GetOrCreateObjectForComInstance è stato chiamato. Se viene specificato un wrapper da un'istanza ComWrappers diversa, l'istanza ComWrappers crea un nuovo wrapper.

Versione introdotta

.NET 8 anteprima 5

Tipo di modifica che causa un'interruzione

Questa è una modifica funzionale.

Motivo della modifica

Il comportamento precedente non era intuitivo. Ha anche interrotto l'esperienza di incapsulamento in cui gli sviluppatori possono definire il funzionamento dell'interoperabilità COM per il codice usando le proprie istanze personalizzate ComWrappers.

Se si vuole mantenere il comportamento precedente, chiamare ComWrappers.TryGetObject(IntPtr, Object) prima di chiamare GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags).

API interessate