Existe-t-il un moyen d'utiliser des méthodes d'extension sur une classe qui a été créée dynamiquement à l'aide de Relection.Emit? Par exemple:Utilisation de méthodes d'extension avec des assemblys d'exécution
class somewhere
{
somewhere()
{
// define the type here using ReflectionEmit, etc.
Type tableType = CreateTableType(...table parameters...);
var table = Activator.CreateInstance(tableType);
table.Shuffle();
}
}
//... elsewhere
public class static TableTypeExtensions
{
public static Table Shuffle(this Table t)
{
...
}
}
Mais je n'ai pas la classe par le nom "Table", uniquement TypeTableType disponible.
Y a-t-il un moyen de contourner cela?
Merci
Je préfère la suggestion d'interface, mais c'est bien aussi. –
D'accord. Upvoted il. –
Je l'ai utilisé dans mon code final. Il est plus logique pour moi d'ajouter des fonctionnalités à une classe qu'à une interface. –