Thanks Jon for clarifying this. :)
On 12/9/06, Jonathan Pryor <[EMAIL PROTECTED]> wrote: > On Sat, 2006-12-09 at 11:36 -0200, Rafael Teixeira wrote: > > I checked the code and discovered that Convert.ToString (int) also > > autoboxes the int parameter and calls the ToString override of int32. > > You seem to believe that calling .ToString() on a struct requires boxing > the struct. This is incorrect -- the struct is only boxed if ToString() > isn't overridden, and it *is* overridden on the built-in types. > > In other words, this shouldn't cause any boxing: > > uint n = (uint) 42; > string s = n.ToString (); > > It's only the assignment of a value-type to System.Object or an > interface that it must be boxed. Direct method invocation doesn't > require boxing (unless the method being invoked isn't directly > implemented on the structure, in which case it needs to be boxed in > order to call the base class version -- examples being GetHashCode(), > Equals(), and ToString()). > > - Jon > > > _______________________________________________ > Gtk-sharp-list maillist - [email protected] > http://lists.ximian.com/mailman/listinfo/gtk-sharp-list > -- Rafael "Monoman" Teixeira --------------------------------------- "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." George Bernard Shaw _______________________________________________ Gtk-sharp-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
