如何在c#中创建静态内部类的对象?

时间:2016-01-26 13:47:39

标签: c# asp.net

class LinkedList
{
    Node head; // head of list

    /* Linked list Node. This inner class is made static so that
    main() can access it */
    static class Node
    {
        int data;
        Node next;
        Node(int d) { data = d; next = null; } // Constructor
    }

    /* method to create a simple linked list with 3 nodes*/
    public static void main(String[] args)
    {
        /* Start with the empty list. */
        LinkedList llist = new LinkedList();

        LinkedList.Node first = new LinkedList.Node(1);
  

错误---无法创建静态类LinkedList.Node

的实例

问题是,如何在c#中创建静态内部类的对象?

3 个答案:

答案 0 :(得分:1)

你没有。静态类只能有静态方法,不能实例化。

答案 1 :(得分:0)

只需更改一行:

static class Node

为:

class Node

静态类无法实例化(换句话说 - 你不能在静态类中使用new关键字)

答案 2 :(得分:-1)

默认情况下,嵌套类是私有的。因此,您需要将其设为public而不是static

请阅读nested types on MSDN

这样的事情:

class LinkedList
{
    public class Node
    {
        ...
        public Node(int d)
        {
           ...
        }
    }
    ...
}