Создание экземпляра класса в другом классе - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь создать узел внутри класса LL, который представляет собой два разных .cs файла

LL.cs

using System;
using Node;

namespace LinkedList{

    class LL{
        private Node head{get; set;}

        public static void Main(){


        }

    }
}

Node.cs

using System;
namespace Node
{

public class Node{
        private int data{get; set;}
        private Node next{get; set;}

    }
}

Почему я получаю эти ошибки:

LL.cs (2,7): ошибка CS0246: Не удалось найти тип или имя пространства имен «Узел» (вы пропускаетеиспользуя директиву или ссылку на сборку?)

И:

LL.cs (7,17): ошибка CS0246: тип или имя пространства имен «Узел» не удалосьбыть найденным (вам не хватает директивы using или ссылки на сборку?)

Если я использовал директиву using Node для обозначения пространства имен.

Спасибо.

РЕДАКТИРОВАТЬ: Очевидное решение состоит в том, чтобы поместить оба класса в один и тот же файл .cs следующим образом:

using System;

namespace LinkedList{
  //using global::Node;

   public class Node{
     private int data { get; set; }
     private Node next { get; set; }
   }

  class LL{

    private Node head { get; set; }



    public static void Main(){

    }
 }
}

Но это считается плохой практикой, и это вызовет будущие проблемы, поэтому я пытаюсь решить основную проблемучтобы он не появлялся в будущих проектах.

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Я пробовал это, и оно работает.

Node.cs

using System;

namespace Node
{
   public class Node
   {
     private int data { get; set; }
     private Node next { get; set; }
   }
}

LL.cs

using System;

namespace LinkedList
{
  using global::Node;

  class LL
  {
    private Node head { get; set; }

    public static void Main()
    {

    }
 }
}
0 голосов
/ 23 мая 2018

Пожалуйста, измените имя пространства имен на другое, чем имя класса.Программа должна успешно скомпилироваться.

...