2010-05-18 15 views
0

J'ai une bibliothèque basée sur javascript et je voudrais générer des classes C# pour cela. Malheureusement, je ne connais pas du tout le T4, donc je n'ai peut-être pas inclus les informations dont vous avez besoin pour répondre à cette question. S'il vous plaît commenter, et je vais modifier au besoin.Puis-je utiliser les fonctionnalités du modèle T4 pour générer des classes C# à partir de définitions de classe javascript?

Merci!

+0

Mais que supposent ces classes générées? Auront-ils la logique des classes JavaScript ou agira-t-il comme une sorte de classe proxy? – Regent

+0

ils m'aideront à écrire des classes qui standardisent les définitions jqgrid – MedicineMan

Répondre

0

Eh bien, avec les modèles T4, vous pouvez générer à peu près tout.

Mais vous aurez besoin d'analyser ces fichiers JavaScript d'une manière ou d'une autre dans T4.

+0

Il est peut-être plus simple d'analyser certains fichiers JSON (si vous pouvez facilement obtenir un peu plus de détails), puis de générer une classe C# à partir de ce fichier. – DarcyThomas

0

Oui, vous pouvez écrire un modèle T4 qui crée des classes C# à partir des définitions de classes JavaScript. Mais il n'y a rien dans T4 qui vous aide à le faire. Un modèle T4 est essentiellement un script C# exécuté par Visual Studio chaque fois que le fichier modèle est modifié.

+0

que voulez-vous dire par "il n'y a rien dans T4" qui vous aide à le faire? Regent, au-dessus suggéré que "vous aurez besoin d'analyser ces fichiers Javascript en quelque sorte par vous-même" - ce qui me semble être une expérience assez moche. – MedicineMan

+0

@MedicineMan: comme le dit dtb, il y a peu de choses que Visual Studio et .NET Framework peuvent vous aider à transformer les définitions de classes JavaScript dès leur sortie de la boîte. – Regent

1

Trois Routes à essayer afin de niceness

a) Utilisation CodeModel dans Visual Studio 2008 ou plus tard pour analyser le code source javascript
b) Jscript.NET compilateur pour analyser votre code/ou objets Eval() à partir de là puis marcher sur ce code
c) Utilisez RegEx pour analyser votre propre

S'il vous plaît Envoyez-moi une ligne à tfischer AT tangible. DE. Je fais cela pour C# de toute façon en ce moment un peut ajouter js à coup sûr.