J’ai `` .
Et puis j’ai cette``
Comment puis-je obtenir Type de la chaîne s ?
One way (laid) consiste à analyser le « » et faites :
Mais y a-t-il un moyen plus propre pour obtenir le type final sans aucune analyse etc.. ? Merci.
J’ai `` .
Et puis j’ai cette``
Comment puis-je obtenir Type de la chaîne s ?
One way (laid) consiste à analyser le « » et faites :
Mais y a-t-il un moyen plus propre pour obtenir le type final sans aucune analyse etc.. ? Merci.
Le format de médicaments génériques, est le nom, un caractère, le nombre de paramètres de type, suivi par une liste séparée par des virgules des types entre parenthèses:
Type.GetType("System.Collections.Generic.IEnumerable`1[System.String]");
Je ne suis pas sûr qu'il y a un moyen facile de convertir à partir de la syntaxe C# pour les génériques du type de chaîne de la CLR veut. J'ai commencé la rédaction d'un rapide regex pour l'analyser comme vous l'avez mentionné dans la question, mais s'est rendu compte qu'à moins de vous donner la possibilité d'avoir imbriqués les génériques que les paramètres de type de l'analyse sera très compliqué.
Découvrez Activator.CreateInstance
- vous pouvez l'appeler avec un type
Activator.CreateInstance(typeof(MyType))
ou avec un assemblage et le nom du type qu' string
Activator.CreateInstance("myAssembly", "myType")
Cela vous donnera une instance du type dont vous avez besoin.
Si vous avez besoin de l' Type
plutôt que de l'instance, l'utilisation de l' Type.GetType()
méthode et que le nom complet du type qui vous intéresse, par exemple:
string s = "System.Text.StringBuilder";
Type myClassType = Type.GetType(s);
Cela vous donnera l' Type
en question.
J’ai besoin de quelque chose comme ça et j’ai fini par écrire du code pour analyser les noms de type simple, que j’avais besoin. Naturellement il y a place à amélioration, car il n’identifiera pas les noms de type générique comme , mais il le fait très bien pour
, ,
et autres. Partage dans le cas où cette aide n’importe qui.
Utilisation est aussi simple que d’écrire ceci :
Je n’ai pas beaucoup de temps à analyser par ce biais, mais je pense que j’ai vu des réponses similaires. En particulier, je pense qu’ils font exactement ce que vous voulez faire ici :
http://StackOverflow.com/questions/695878/Entity-Framework-Generic-Repository-Error/698365
Espérons que cela aide, faites le moi savoir plus précisément si ce n’est pas.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.