473,394 Members | 1,956 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Breaking changes in .Net 2.0 - Something missing

I saw that Microsoft have released a list of breaking changes in .Net here:
http://msdn.microsoft.com/netframewo...e/default.aspx

While this is useful, it seems to be missing a change that has broken a lot
of my applications, relating to the order in which members are returned by
reflection. At least I can't find it. I reported the bug on ladybug:
http://lab.msdn.microsoft.com/produc...7-0ee741027f34

Also discussed in my blog:
http://dotnetjunkies.com/WebLog/john...28/128723.aspx

Can anyone at Microsoft see that this is added to the list? I think it's
quite an important change.
Dec 3 '05 #1
4 1330
Hi John,

Thanks for your feedback. But I didn't see this in the breaking changes
list. IMO, relying on the order of the returned methods from Reflection is
not reliable.

I suggest you sign in into the feedback page and suggest the product team
to make this breaking change listed. Because in this way, the products team
will see this immediately.

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."

Dec 3 '05 #2
I relied on the order of returned methods for caching purposes.

In my case the cache (consisting of a member-index to member lookup) was
created at application startup, and was referred to during application
execution. In 1.1 this worked (because members would be returned in the same
order throughout the application session).

In .Net 2.0 it doesn't work because every time you ask for a list of
members, they come back in a random order. This randomness was added by the
..Net team in 2.0 to ensure you don't rely on the order.

Relying on the order of members between sessions (ie. in serialization)
certainly isn't a good idea, many things can change between sessions. But
*during* the session objects won't be changing! And so they should be
reliable. Their solution to the problem of having people rely on the order
of reflection members being returned doesn't take my scenario into account.
It used to work in 1.1 and doesn't in 2.0 and that makes it a breaking
change.

Heck my applications break what more proof do I need to give! :)

When you say feedback page - do you mean in ladybug? or the feedback page
for the breaking changes list?

Thanks for responding,
John

"Kevin Yu [MSFT]" <v-****@online.microsoft.com> wrote in message
news:66**************@TK2MSFTNGXA02.phx.gbl...
Hi John,

Thanks for your feedback. But I didn't see this in the breaking changes
list. IMO, relying on the order of the returned methods from Reflection is
not reliable.

I suggest you sign in into the feedback page and suggest the product team
to make this breaking change listed. Because in this way, the products
team
will see this immediately.

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."

Dec 3 '05 #3

"John Wood" <te*****@online.nospam> wrote in message
news:LW************@fe12.lga...
I relied on the order of returned methods for caching purposes.
In .Net 2.0 it doesn't work because every time you ask for a list of
members, they come back in a random order.
Thanks for the heads-up on this. I'm also chaching memeber/field index
offset info.
This randomness was added by the .Net team in 2.0 to ensure you don't
rely on the order.
Okay, that's *really* stupid. There are so many ways for people to shoot
themselves in the foot, that to try and stop this one way and in the process
disable a sensable optimization is pretty silly. I don't depend on C struct
layouts between machines or even compiler versions, but I certainly expect
them to be the same every time I run the same program so I can read my own
file. Next they'll be adding a random epsilon to all floating point values
because you shouldn't depend of those lower bits anyway...

m
Relying on the order of members between sessions (ie. in serialization)
certainly isn't a good idea, many things can change between sessions. But
*during* the session objects won't be changing! And so they should be
reliable. Their solution to the problem of having people rely on the order
of reflection members being returned doesn't take my scenario into
account. It used to work in 1.1 and doesn't in 2.0 and that makes it a
breaking change.

Heck my applications break what more proof do I need to give! :)

When you say feedback page - do you mean in ladybug? or the feedback page
for the breaking changes list?

Thanks for responding,
John

"Kevin Yu [MSFT]" <v-****@online.microsoft.com> wrote in message
news:66**************@TK2MSFTNGXA02.phx.gbl...
Hi John,

Thanks for your feedback. But I didn't see this in the breaking changes
list. IMO, relying on the order of the returned methods from Reflection
is
not reliable.

I suggest you sign in into the feedback page and suggest the product team
to make this breaking change listed. Because in this way, the products
team
will see this immediately.

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."


Dec 4 '05 #4
Hi John,

In this case, you'd better contact the product team on this issue to get a
workaround from them. You just sign in on that feedback page to continue
posting. The product team might give you a workaround.

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."

Dec 6 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: bbands | last post by:
I've a 2,000 line and growing Python script that I'd like to break up into a modules--one class alone is currently over 500 lines. There is a large config.ini file involved (via ConfigParser), a...
4
by: Glenn Owens | last post by:
I have a DataGrid web control which I've dynamically populated with template columns to be used for bulk-editting. Generally, all of the columns are textbox and/or dropdownlist child controls. ...
9
by: Tim D | last post by:
Hi, I originally posted this as a reply to a rather old thread in dotnet.framework.general and didn't get any response. I thought it might be more relevant here; anyone got any ideas? My...
12
by: Mike Gaab | last post by:
Hi, A newcomer to .Net (I've held out as long as I can.). I am using VS.Net 2003. I am writing some web apps and I am confronted with the usual issues that one faces when coming from a Windows,...
150
by: tony | last post by:
If you have any PHP scripts which will not work in the current releases due to breaks in backwards compatibility then take a look at http://www.tonymarston.net/php-mysql/bc-is-everything.html and...
49
by: elmar | last post by:
Hi Clers, If I look at my ~200000 lines of C code programmed over the past 15 years, there is one annoying thing in this smart language, which somehow reduces the 'beauty' of the source code...
4
by: Rubin | last post by:
1) I want to show a breaking hyphen in Mozilla 1.5.0.4 How do I do that? "Unicode standard annex #14", <http://www.unicode.org/reports/tr14/>, defines 4 breaking hyphens. <quote> Breaking...
30
by: Charles Law | last post by:
Here's one that should probably have the sub-heading "I'm sure I asked this once before, but ...". Two users are both looking at the same data, from a database. One user changes the data and...
13
by: Andrew | last post by:
Hi I was wondering if there is anyway with XML RPC to send a string of text from the server to the client with out calling return thus breaking my loop for example def somefunc(): for...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.