2015-06-10 3 views
0

Я знаю, что это очень глупо, чтобы спросить, но возможно ли это?Доступ к родительскому классу без объявления свойства

Говорит у меня есть этот класс

Class A 
{ 
    string propertyA; 
    Public A() 
    { 
     // do something here    
    } 
} 

Тогда это:

Class B 
{ 
    A classA; 
    string propertyB; 
} 

Обычно я хотел бы сделать это:

B classB = new B(); 
A classA = new A(); 
B.classA = classA; 

Есть в любом случае, чтобы добиться чего-то вроде этого:

Class A 
{ 
    string propertyA; 
    Public A() 
    { 
     // get or set B's properties 
     // but the problem is this class doesnt have a Parent property 
    } 
} 
+0

Вы не можете использовать 'B.classA = classA;', поскольку члены класса являются 'private' по умолчанию! –

+0

Я не уверен, что * проблема * вы на самом деле пытаетесь решить, но это «решение» не то, что вам нужно. –

+0

Можете ли вы рассказать о том, почему вы не можете или не будете хранить ссылку в A назад к B? –

ответ

1

Нет, этого не достичь.

Чтобы получить доступ к другому объекту, вам нужна ссылка на него.

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

Если у вас их нет, вы не можете получить к нему доступ.

+0

Спасибо, так есть все равно, чтобы получить эту ссылку? – EagerToLearn

+0

Это то, что вы должны знать. Вы создали способ получить эту ссылку? Вы, конечно, не можете искать в нем память. Вы сохранили ссылку на B где-нибудь, где А может ее схватить? Если нет, то либо нет, либо нет, либо да, будет способ, как только вы его напишете. Опять же, почему вы не можете просто сохранить ссылку внутри A? Трудно помочь вам, когда мы не знаем, почему это решение вашей проблемы. Если бы вы могли объяснить, что вы делаете, могут быть совершенно разные решения этой проблемы. –

+0

Я не могу изменить свойства классов, так как я могу их использовать. Наверное, мне придется придумать другие способы сделать это! – EagerToLearn