Re: [Vala] Cannot have field and method with the same name



On Fri, Dec 03, 2010 at 15:38:38 -0800, Anatol Pomozov wrote:
I have a class that contains a field and method with the same name,
and Valac does not like it. What is the reason? Other languages
(C#/Java) allow it.

Pardon me. C# does NOT allow that:

test.cs(3,17): error CS0102: The type `Foo' already contains a definition for `stop'

Java allows it, but Java is one of very few languages where method isn't an
object (it is an object -- function pointer -- even in C and C++).

You have to use () for method so you know whether
you access method or field.

No, you don't. If there was just the method, this.stop would return
a delegate calling it, so when there's also field stop, the statement would
not be defined.

public class Foo {
  public boolean stop = true;

  public boolean stop() {
    return true;
  }
}

-- 
                                                 Jan 'Bulb' Hudec <bulb ucw cz>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]