Jan-Jaap van der Geer píše v St 10. 02. 2010 v 02:34 -0800:
> Jan Hudec <[email protected]> wrote:
> > This looks like another use-case for extension methods in a day.
> 
> I'd like to see them as well.
>  

It might be useful, in some cases. It should be noted that extension
methods can only access class' public members.

> > namespace Moo {
> >     bool less_or_equal(IComparable this lhs, IComparable rhs) {
> >         return !rhs.less_than(lhs);
> >     }
> > }
> 
> The C# syntax is actually a little bit different: You need to swap the type 
> and "this":
> 
> namespace Moo {
>     bool less_or_equal(this IComparable lhs, IComparable rhs) {
>         return !rhs.less_than(lhs);
>     }
> }
> 
> I feel like we should follow C# regarding that. In C# the method must be 
> static and must be placed in a static class as well.
> 

I disagree with that. The C# way feels like an ugly hack to me.
How about something like this:

public class extension Gtk.Entry {
        public void some_additional_stuff () {
                // do something
        }
}

or similarly:

public interface extension IComparable {
        public bool less_or_equal (IComparable rhs) {
                return !rhs.less_than (this);
        }
}

Attachment: signature.asc
Description: Toto je digitálně podepsaná část zprávy

_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to