"Class.this" equivalent ?

Dan ddaglas at gmail.com
Tue Jan 2 11:24:38 PST 2007


== Quote from Alexander Panek (a.panek at brainsware.org)'s article
> 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());
>      }
> }

Thanks.

--Dan



More information about the Digitalmars-d mailing list