我有一个名为LetterRect的类,其中两个字段的类型为LetterSquare。例如:

public class LetterRect : Microsoft.Xna.Framework.GameComponent
{
    private LetterSquare square1;
    private LetterSquare square2;
    private long indentificationNumber;
    ... other fields that are irrelevant to this question
}


我希望能够通过square1和square2获得对LetterRect对象的引用。我最初的解决方案是为LetterRect以及相应的square1和square2赋予相同的identificationNumber,并带有一个长整数。但是,有没有方法可以在没有标识号的情况下访问LetterRect?绝对没有继承关系,它是一个组合或“具有”关系。如果我在Java中没有记错的话,有一个内部类的概念,其中内部类可以直接引用它所属的类的实例。因此,是否有更好的方法通过square1和square2来获得对LetterRect对象的引用?

感谢您的所有帮助!

最佳答案

尝试这个;

public class LetterRect : Microsoft.Xna.Framework.GameComponent
{
    private LetterSquare square1;
    private LetterSquare square2;
    public LetterRect()
    {
        square1 = new LetterSquare(this);
        square2 = new LetterSquare(this);
    }
}

public class LetterSquare
{
    public LetterRect LetterRectProp { get; private set; }
    public LetterSquare (LetterRect letterRect )
    {
        this.LetterRectProp = letterRect;
    }
}

09-10 04:32