C#: Enroulant une Enum à l'intérieur de l'autre (ie. la mise en miroir de l'autre enum/copier...)
Voici mon problème: j'ai un objet qui est de la référence d'une DLL. Je voudrais d'autres objets pour faire référence à mon objet, sans avoir à aussi inclure une référence à la DLL elle-même.
C'est très bien pour la plupart, sauf qu'il est un enum dans la DLL que je voudrais répliquer. Je pourrais écrire les enum, ligne par ligne, mais je me demandais si il y a une meilleure façon de le faire.
ie.
Disons que la DLL est le suivant enum:
public enum dllEnum
{
value1,
value2,
value3
}
Je pouvais faire ce qui suit:
public enum myEnum
{
value1,
value2,
value3
}
ou mieux encore:
public enum myEnum
{
value1 = dllEnum.value1,
value2 = dllEnum.value2,
value3 = dllEnum.value3
}
Mais chacun de ces cas a moi d'écrire l'intégralité de l'enum moi-même. Je préfère juste être capable d'envelopper l'ensemble de l'enum comme mon propre, la préservation de l'index de l'original enum.
Quelque chose le long des lignes de:
public enum myEnum
{
Enum.GetValues(dllEnum)
}
OriginalL'auteur AlishahNovin | 2009-12-02
Vous devez vous connecter pour publier un commentaire.
Ce que vous demandez a été discuté ici:
Enum "L'Héritage"
OriginalL'auteur Michael Edwards
http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/ddedaf59-fb36-45cd-8062-446fa92d8f68
Cet article a quelques grands exemples qui peuvent vous aider à une solution où vous générer dynamiquement votre enum et de le compiler à l'exécution. J'ai fait cela pour un 'eval' de la fonction du type de VB.Net mais je ne l'ai pas fait pour un enum.
Cela ne permettrait pas de moment de la compilation, la vérification de valeurs, de sorte que vous serez dans un monde de souffrance dans beaucoup de façons. Avec la DLR .Net 4.0, j'imagine que vous auriez plus de souplesse (même si je l'avoue, je n'ai pas lu les détails de la prochaine version du framework.)
OriginalL'auteur Kevin Buchan