Ссылка на класс C # в другой класс, но почему? - PullRequest
0 голосов
/ 02 июня 2011

Я новичок в C # Я не понимаю, почему поместить ссылку на класс в другой класс, вот код.

  interface IDB
{
    void AddDoctor(Doctor doc);
    void AddPatient(Patient pat);
    void AddWard(Ward ward);
}

    class DataBaseManager 
{
    private IDB db;

    public DataBaseManager(IDB dbase)
    {
        this.db = dbase;
    }


class ComputerOperator
{
    private string name;
    private int age;
    private DataBaseManager dbm;

    public ComputerOperator(string name, int age,SQLDB sqdata)
    {
        this.name = name;
        this.age = age;
        dbm = new DataBaseManager(sqdata);
    }

    class BillingDepartment
    {
    private ComputerOperator operater;

    public ComputerOperator Operater
    {
        get { return operater; }
        set { operater = value; }
    }
   }

Когда мы помещаем класс в другой класс, называется NESTED CLASSES, токак называется эта вещь в c # «Поместить ссылку на класс в другой класс»msgstr ", и есть ли альтернатива, если мы не помещаем ссылку на класс в другой класс ???например,

      namespace myNameSpace                                                                                                                                                                                                                                        
      {
       public class class1
      {
        //methods
      }

      public class class2
     { 
      private class1 myclass1;
       //methods
     }

Ответы [ 2 ]

1 голос
/ 03 июня 2011

Ссылка на другой класс - это другая концепция вложенного класса .

  • Ссылка: поле или свойство, которое содержит экземпляр другого класса.
  • Вложенный класс: это объявление класса, которое существует внутри другого объявления класса.

Вложенные классы в основном используются, когда вы хотите скрыть существование этого класса от мира. Вложенный закрытый класс, может использоваться только классом, которому он принадлежит.

Кроме того, вложенные классы знают все личные вещи, которые существуют в классе владельца.

0 голосов
/ 02 июня 2011

Я предполагаю, что имеется в виду (поскольку из контекста или вашей формулировки не очень ясно), что у вас есть поле, содержащее ссылку на другой экземпляр класса. У него есть ссылка на объект, тип которого относится к указанному классу.

public class A
{
    public class Nested
    {
    }

    public Nested _nestedFieldRefrence;
    public B _otherClass;
}

public class B
{
}

В классе А у вас есть * Вложенный класс с именем Nested * Ссылка на экземпляр вложенного класса с именем _nestedFieldReference * Ссылка на другой класс под названием _otherClass

Помогает ли это вашему пониманию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...