通用列表和静态主

Generic list and static main

using System;
using System.Collections.Generic;
namespace ConsoleApplication74
{
class Program<T>
{
    public void Add(T X)
    {
        Console.WriteLine("{0}", X);
    }
    static void Main(string[] args)
    {            
        Program<string> MyGeneric = new Program<string>();
        MyGeneric.Add("ABC");
        Console.Read();
    }
}

我有错误Program does not contain a static 'Main' method suitable for an entry point。 Program.cs 属性的生成操作为编译。 我不知道哪里出了问题。

Main 方法或程序中的入口点不能位于具有通用参数的 class 中。您的 Program class 有一个 T 类型参数。 C# 规范在应用程序启动下的第 3.1 节中调用了这一点:

The application entry point method may not be in a generic class declaration.

您应该创建一个新的 class 而不是尝试使用 Program:

class Program
{
    static void Main(string[] args)
    {            
        MyClass<string> MyGeneric = new MyClass<string>();
        MyGeneric.Add("ABC");
        Console.Read();
    }
}

class MyClass<T>
{
    public void Add(T X)
    {
        Console.WriteLine("{0}", X);
    }   
}