Anti-moniker
OLE fornisce un'implementazione di un tipo speciale di moniker denominato anti-moniker. Questo moniker viene usato nella creazione di nuove classi moniker. Lo si usa come inverso del moniker su cui è composto, annullando in modo efficace tale moniker, in modo analogo a quello dell'operatore ".." sposta verso l'alto un livello di directory in un comando del file system.
È necessario disporre di un anti-moniker, perché una volta creato un moniker composito, non è possibile eliminare parti del moniker se, ad esempio, un oggetto viene spostato. Usare invece un anti-moniker per rimuovere una o più voci da un moniker composito.
Gli anti-moniker sono una classe moniker progettata in modo esplicito per l'uso come inverso. COM definisce la funzione CreateAntiMoniker denominata, che restituisce un anti-moniker. Questa funzione viene in genere usata per implementare il metodo IMoniker::Inverse .
Un anti-moniker è solo un inverso per quei tipi di moniker implementati per trattare gli anti-moniker come inversa. Ad esempio, se si vuole rimuovere l'ultimo pezzo di un moniker composito, non è consigliabile creare un anti-moniker e componerlo alla fine del composito. Non è possibile assicurarsi che l'ultimo pezzo del composito consideri un anti-moniker come inverso. È invece necessario chiamare IMoniker::Enum sul moniker composito, specificando FAL edizione Standard come primo parametro. Viene creato un enumeratore che restituisce i moniker del componente in ordine inverso. Usare l'enumeratore per recuperare l'ultima parte del composito e chiamare Inverse su tale moniker. Il moniker restituito da Inverse è ciò che è necessario rimuovere l'ultimo pezzo del composito.
Argomenti correlati