Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Abonnements

reflector bug IL -> C#/VB/etc.

Je regardais le code de l'Entity Framework quand je suis tombé sur le code suivant :

switch (this.<>1__state)
{
    case 3:
    case 4:
        break;

    default:
        return;
        try
        {
        }
        finally
        {
            this.<>m__Finally6();
        }
        break;
}

Cela me paraissant bizarre, j'ai regardé le code VB : pareil. Je me suis donc penché sur l'IL et c'est là que j'ai compris que Reflector m'avais trahi pour la deuxième fois de la journée.

En effet, l'IL est le suivant :

L_0023: ldfld int32 System.Data.EntityModel.SchemaObjectModel.EntityContainerAssociationSet/<get_Ends>d__0::<>1__state
L_0028: stloc.1
L_0029: ldloc.1
L_002a: ldc.i4.3
L_002b: sub
L_002c: switch (L_003a, L_003a)
L_0039: ret
L_003a: leave.s L_0043
L_003c: ldarg.0
L_003d: call instance void System.Data.EntityModel.SchemaObjectModel.EntityContainerAssociationSet/<get_Ends>d__0::<>m__Finally6()
L_0042: endfinally
L_0043: ret
.try L_003a to L_003c finally handler L_003c to L_0043

Donc le code C# devrait être le suivant :

switch (this.<>1__state)
{
    case 3:
    case 4:
        try
        {
        }
        finally
        {
            this.<>m__Finally6();
        }
        break;
    default:
        return;
}

 

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Publié mercredi 4 juin 2008 08:39 par Matthieu MEZIL

Classé sous : , , , ,

Commentaires

# re: reflector bug IL -> C#/VB/etc. @ jeudi 5 juin 2008 00:15

Reflector fait souvent des erreurs, et on est donc obligé de souvent retravailler le code derrière pour qu'il soit correctement utilisable.

warning

# re: reflector bug IL -> C#/VB/etc. @ jeudi 5 juin 2008 16:49

Ouais je sais mais quand on veut reprendre une dll du framework dont le pdb n'est pas fournit afin de faire du pas à pas, c'est un peu relou !!!

Matthieu MEZIL

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [SharePoint] Les sessions TechDays 2012… par Le blog de Patrick [MVP SharePoint] le il y a 4 heures et 6 minutes

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le 02-09-2012, 11:01

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le 02-09-2012, 08:28

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le 02-09-2012, 00:33

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59