"Class.this" equivalent ?

Alexander Panek a.panek at brainsware.org
Tue Jan 2 10:36:38 PST 2007


Dan wrote:
> All,
> 
> How can I access a reference to an enclosing class in D? ... something similar
> to the following Java code:
> 
> class A {
>   class B {
>     A ref;
>     B() { ref = A.this; }
>   }
> }

You can use the *outer* keyword to access the class wrapping a nested class.

Like:

class Outer
{
     class Inner
     {
	Outer foo()
	{
	    return this.outer;
	}
     }

     void bar()
     {
	Inner i = new Inner;
	assert(this == i.foo());
     }
}



More information about the Digitalmars-d mailing list