Is there a framework you are using that supports this or is that
something you guys came up with? I see a .compile in there when it is
generating that final .Equal statement.

On Mar 4, 2:31 am, Simone Busoli <[email protected]> wrote:
> I'm creating on the fly a method which performs a comparison of the two
> values by coercing them to the same type.
> Say you have:
>
> object a = (int)1;
> object b = (byte)1;
>
> You'd get a.Equals(b) to be false, which is somewhat unexpected.
>
> What I'm doing is this:
>
> ((int)a).Equals((int)(byte)b), which returns true, as expected.
>
> There might be other ways, however.
>
>
>
> On Wed, Mar 4, 2009 at 03:40, webpaul <[email protected]> wrote:
>
> > Do you have a link to something that explains the general concept of
> > what is going on there? I haven't ever seen anything like that before.
>
> > On Mar 3, 8:06 pm, Simone Busoli <[email protected]> wrote:
> > > committed in rev. 2086
>
> > > On Sun, Feb 22, 2009 at 20:03, Simone Busoli <[email protected]
> > >wrote:
>
> > > > Right :)  I'm not sure I can take the time in the next few days,
> > though,
> > > > but it's on my todo list.
>
> > > > On Sun, Feb 22, 2009 at 20:01, Ayende Rahien <[email protected]>
> > wrote:
>
> > > >> Go for it :-)That would actually keep us consistent with the
> > appropriate
> > > >> C# behavior, which is the expected one.
>
> > > >> On Sun, Feb 22, 2009 at 1:56 PM, Simone Busoli <
> > [email protected]>wrote:
>
> > > >>> What about LCG with expressions? They know how to compare each other,
> > > >>> when they know who they are :)
>
> > > >>> On Sun, Feb 22, 2009 at 19:52, Ayende Rahien <[email protected]>
> > wrote:
>
> > > >>>> Custom Comparators for the join.We can detect them not being of the
> > > >>>> same type and coerce them to the bigger type
>
> > > >>>> On Sun, Feb 22, 2009 at 1:49 PM, webpaul <[email protected]>
> > wrote:
>
> > > >>>>> How are you thinking of doing it? Casting up should always be safe,
> > so
> > > >>>>> you could always cast any numeric type to double or something like
> > > >>>>> that in order to compare. That way you could compare 1 with 1.00
> > also.
> > > >>>>> Not sure if that is a perf problem or not though.
>
> > > >>>>> On Feb 22, 11:33 am, Ayende Rahien <[email protected]> wrote:
> > > >>>>> > +1
>
> > > >>>>> > On Sun, Feb 22, 2009 at 11:36 AM, Simone Busoli <
> > > >>>>> [email protected]>wrote:
>
> > > >>>>> > > Actually, when you're doing a join it would be a very cool
> > feature
> > > >>>>> to have.
> > > >>>>> > > I spent quite some time wondering why the rows didn't join
> > > >>>>> correctly, and it
> > > >>>>> > > was because the field on which it was performing the join was
> > an
> > > >>>>> integer on
> > > >>>>> > > one side and a byte on the other. So far, the solution has been
> > to
> > > >>>>> write
> > > >>>>> > > tests which ensure that the two sides of the join have the same
> > > >>>>> field types,
> > > >>>>> > > but I would like to solve it at the RhinoETL level.
>
> > > >>>>> > > On Sun, Feb 22, 2009 at 03:54, webpaul <[email protected]>
> > wrote:
>
> > > >>>>> > >> Ok, mission accomplished then - Makes sense once you think
> > about
> > > >>>>> it. I
> > > >>>>> > >> certainly don't have any burning need for it to work and the
> > easy
> > > >>>>> work
> > > >>>>> > >> around is to cast one of the items as they are read in if it
> > > >>>>> becomes
> > > >>>>> > >> an issue so I think it's fine. Just wanted to check if that
> > was a
> > > >>>>> > >> desired thing or not.
>
> > > >>>>> > >> On Feb 21, 10:43 am, Simone Busoli <[email protected]>
> > > >>>>> wrote:
> > > >>>>> > >> > That was to point out the subtlety in the .net fx. I already
> > > >>>>> discussed
> > > >>>>> > >> it,
> > > >>>>> > >> > please lookup "row equality" on the mailing list. I think
> > this
> > > >>>>> can be
> > > >>>>> > >> > addressed in several ways, but didn't take the time to do it
> > > >>>>> yet.
>
> > > >>>>> > >> > On Sat, Feb 21, 2009 at 17:13, webpaul <[email protected]>
> > > >>>>> wrote:
>
> > > >>>>> > >> > > I looked at some recent changes and one of them was for
> > > >>>>> checking row
> > > >>>>> > >> > > equality. I noticed there was a specific test for an
> > (int)1
> > > >>>>> not being
> > > >>>>> > >> > > equal to a (byte)1 - is that the desired behavior or was
> > the
> > > >>>>> test put
> > > >>>>> > >> > > in there just to demonstrate that subtlety? I did a little
> > > >>>>> test and
> > > >>>>> > >> > > was surprised to find the below .NET framework behavior, I
> > > >>>>> would have
> > > >>>>> > >> > > thought they would be equal:
>
> > > >>>>> > >> > > object a = (int)1;
> > > >>>>> > >> > > object b = (byte)1;
>
> > > >>>>> > >> > > Assert.IsFalse(a.Equals(b));
>
> > > >>>>> > >> > > I'm guessing the framework just returns false if the types
> > are
> > > >>>>> > >> > > different in the Equals implementation.
>
> > > >>>>> > >> > > So I understand why the test behaves how it does, just
> > curious
> > > >>>>> if that
> > > >>>>> > >> > > is the desired effect or just due to the above and you
> > wanted
> > > >>>>> it to be
> > > >>>>> > >> > > clear.- Hide quoted text -
>
> > > >>>>> > >> > - Show quoted text -- Hide quoted text -
>
> > > >>>>> > - Show quoted text -- Hide quoted text -
>
> > > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to