Mi sono imbattuto in questo interessante articolo: How I Came to Love COM Interoperability su CodeProject, che mi ha fatto pensare ...
L'autore sostiene che non vogliono alcun COM-ities nella loro libreria .NET perché toglie la bellezza della loro libreria .NET. Invece, preferirebbero scrivere una libreria Interop separata che esponga la loro libreria .NET a COM. Questa libreria Interop gestirà il fatto che COM non supporta i costruttori con parametri, metodi sovraccaricati, generici, ereditarietà, metodi statici, ecc.
E mentre penso che sia molto nuovo, non si adatta solo al progetto?
- Ora devi testare l'unità della tua libreria .NET E di una libreria Interop.
- Ora devi dedicare tempo a capire come aggirare la tua bellissima libreria .NET ed esporla a COM.
- È necessario, effettivamente, raddoppiare o triplicare il conteggio delle lezioni.
Posso certamente capire se hai bisogno della tua libreria per supportare sia COM che non COM. Tuttavia, se hai intenzione di utilizzare solo COM questo tipo di design porta qualche vantaggio che non vedo? Ottieni solo i vantaggi del linguaggio C #?
Oppure semplifica il controllo delle versioni della libreria fornendo un wrapper? Rende i test delle unità più veloci non richiedendo l'uso di COM?