class BaseClass
{
public void Create()
{
ChildClass child = new ChildClass(this);
}
class ChildClass
{
private BaseClass _baseClass;
public ChildClass(BaseClass baseClass)
{
_baseClass = baseClass;
}
}
}
Можно ли получить BaseClass
в ChildClass
без передачи его в конструктор?
Можно ли получить BaseClass в ChildClass без передачи его в конструктор?
Нет нельзя.
Если и есть какие-то хаки, то они убивают производительность.
Вы, вероятно, исходите из соображений, что объект вложенного класса не может существовать без объекта объемлющего. Но в общем случае это не так. Например, можно передать null
в конструктор ChildClass
, объект вложенного класса при этом создастся, но экземпляра объемлющего класса для него не предоставлено.
Можно, я думаю, через рефлексию получить название объемлющего класса внутри вложенного. Но вам же нужен не класс, а именно его экземпляр. А подобного рода отношению как раз и задаются вашим (пользовательским) кодом, а не какой-то встроенной архитерктурной особенностью фреймворка.
Таким образом, без явной передачи экземпляра в общем случае не обойтись.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужен совет реализации след структуры1) форма 2) поток с таймером
Как проверить что в тексте каждый '(' закрыт ')'?
Я только учусь, поэтому вопрос может и глупыйНе судите строго