Question

In some Java source for Android I see expressions involving a "class" member on Class types, for example when constructing a ComponentName object:

cname := new ComponentName( this, SomeClass.class );

This does not compile in Oxygene for Java, with the compiler claiming that there is no such static member 'class' on the type.

What is the equivalent Oxygene syntax ?

Was it helpful?

Solution

The "class" member of a Class type in Java is not part of the Java object model but is interpreted directly by the Java compiler. What is sometimes called "compiler magic".

The equivalent compiler magic in Oxygene is the typeof() built-in function:

cname := new ComponentName( self, typeof(SomeClass) );
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top