Comments
8 comments
-
nobody?
-
Can you share the IL at all?
-
There is no relation with IL!
When I write this in Visual Studio:
class Demo
{
public static int bbb = 5;
public static int aaa = bbb + 2;
}
Then put the output to Reflector. it will like this:
internal class Demo
{
// Fields
public static int aaa = (bbb + 2);
public static int bbb = 5;
}
So, when I Export Assembly Source Code, there are mistakes!
Reflector should keep the order, or else there are different values!!! -
in my program: aaa=7,bbb=5
but in Reflector code: aaa=2,bbb=5
-
@CreateAndInject The IL is in the static constructor (.cctor method). That is where the static variables are initialised.
-
@switchblade Why don't you test my code?
"The IL is in the static constructor (.cctor method). That is where the static variables are initialised."
So?
In my original application, IL will like:
ldc.i4.5
stsfld bbb
ldsfld bbb ===>this time bbb=5
ldc.i4.2
add
stsfld aaa
But Reflector change the filed order, so if I compile the decompiled source , IL will like:
ldsfld bbb ==> this time bbb=0
ldc.i4.2
add
stsfld aaa
ldc.i4.5
stsfld bbb
Can't you find the difference?
So, there is a bug!!!
-
@CreateAndInject I just encountered the same problem when using server-side DataTables plugin in a ASP.NET Web Forms Site, along with Zack Owen's DataTable parser. I extracted the source code with JustDecompile and .NET Reflector, and that gave me reordered data (though the column titles were right).
For instance, I had these columns:
Id | Name | Birth date
1234 | John Doe | 31/12/1990
that were displayed like so:
Id | Name | Birth date
31/12/1990 | 1234 | John Doe
This is because Reflector transformed this code:public class DTNomenclature { public int PersonID { get; set; } public string PersonName { get; set; } public DateTime PersonBirth { get; set; } }
into this one:public class DTNomenclature { public DateTime PersonBirth { get; set; } public int PersonID { get; set; } public string PersonName { get; set; } }
... causing the DataTables parser to get the and display the data in the wrong order.
The problem occurs here (for those who would came across this post):public FormatedList Parse() { var list = new FormatedList(); list.Import(_properties.Select(x => x.Name).ToArray()); ...
-
We're investigating this and will keep you posted.
Add comment
Please sign in to leave a comment.
{
public static int bbb = 5;
public static int aaa = bbb + 2;
}
aaa=7,bbb=5
decompiled by Reflector:
internal class Demo
{
// Fields
public static int aaa = (bbb + 2);
public static int bbb = 5;
}
aaa=2,bbb=5