Доступ к полю внешнего класса

Как мне получить доступ к полю внешнего класса, учитывая ссылку на объект внутреннего класса?

class Outer
{
    int field;

    class Inner
    {
        void method(Inner parameter)
        {
            // working on the current instance is easy :)
            field = 0;
            Outer.this.field = 1;

            // working on another instance is hard :(
            parameter.field = 2;              // does not compile
            parameter.Outer.this.field = 3;   // does not compile
            parameter.outer().field = 4;      // This works...
        }

        // ...but I really don't want to have to write this method!
        Outer outer()
        {
            return Outer.this;
        }
    }
}

Я также пробовал Outer.parameter .field и многие другие варианты. Есть ли синтаксис, который делает то, что я хочу?

9
задан fredoverflow 30 June 2011 в 15:18
поделиться