Как я могу вызвать переменные, определенные в классе, используя переменную, которая принадлежит к этому классу и вызывается с использованием другого класса? - PullRequest
0 голосов
/ 25 июня 2018

Я определил 2 класса.

class A
 {
    public B[] varA{get;set;}
 }

class B
{
  public string varB{get;set;}
}

Я создал объект класса A как A newObj = new A ();Мне нужно присвоить значения переменной, определенной в классе B, используя этот объект, но

newObj.varA.varB

не работает.Как это назвать?

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

У вас есть возможность использовать Наследование между этими классами.

Class B
{
String varB;
}
Class A:B
{

Строка varA; }

Затем вы можете присвоить значения классу B, используя объект класса A. A newObj = new A();

newObj.varB="Value";
0 голосов
/ 25 июня 2018

Вы получаете доступ к так называемой нулевой ссылке .

После создания объекта,

A newObj = new A();

свойства newObj остаются неинициализированными, свойство varA является нулевой ссылкой до тех пор, пока вы не инициализируете его следующим образом

newObj.varA = new B[1]; //create an array that can hold one B instance and assign it to varA

Тем не менее, если вы получите доступ к первому элементу в массиве, например varA[0], вы также обнаружите, что это нулевая ссылка! Вы должны инициализировать это тоже.

newObj.varA[0] = new B(); //create a B instance and put it to the array

Тогда вы можете получить доступ к varB, используя

newObj.varA[0].varB = "Hello World!"; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...