COM Interop Utilizzo di tipi generici
Domanda
Sembra non è possibile utilizzare i tipi generici direttamente con COM: vedi Interoperabilità Utilizzando i tipi generici su MSDN.
Qualcuno può dare un esempio di come questo potrebbe essere realizzato?
Nessuna soluzione corretta
Altri suggerimenti
Penso che l'idea è che non è possibile contrassegnare un tipo generico come ComVisible
direttamente, ma si può avere quel tipo di implementare interfacce non generici che sono ComVisible
.
Quindi, dato un Baker<Recipe>
generica, si avrebbe bisogno di introdurre qualcosa di simile:
[ComVisible(true)]
public interface IBake
{
Pastry Bake();
}
public class Baker<Recipe> : IBake
{
public Baker(Recipe ingredients) {...}
public Pastry Bake()
{
...
}
}
[ComVisible(true)]
public class Bakery
{
public IBake GetBaker(string recipe)
{
// somehow get recipe type from string
// and create and return Baker<Recipe>
// Client can now call IBake.Bake().
}
}
Suppongo che questo è il "indirettamente" che l'articolo sta parlando. Non ho ben vedere ciò collezione Controls di VB.NET ha a che fare con questo, però ...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow