在另一个类中创建一个类的实例

时间:2018-05-23 16:46:21

标签: c# oop namespaces

我正在尝试在LL类中创建一个Node,它是两个不同的.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 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 :(得分:0)

请将命名空间名称更改为类名以外的名称。该程序应该成功编译。

答案 1 :(得分:-1)

我试过这个并且它正在工作。

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()
    {

    }
 }
}