Состав объекта C#
У меня есть класс с именем 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
}
Я хочу иметь возможность получить ссылку на объект LetterRect через square1 и square2. Моим первоначальным решением было дать LetterRect и соответствующие square1 и square2 одно и то же идентификационный номер с длинным целым числом. Однако есть ли способ получить доступ к LetterRect без идентификационного номера? Определенно, это не отношения наследования, это композиция или отношения "есть". Если я правильно помню, в Java есть понятие внутреннего класса, где внутренний класс может напрямую ссылаться на экземпляр класса, членом которого он является. Итак, есть ли лучший способ получить ссылку на объект LetterRect через square1 и square2?
Спасибо за помощь!
1 ответ
Попробуй это;
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;
}
}