2016-09-12 2 views
1
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(); 
    } 
} 

У меня есть erroe Program does not contain a static 'Main' method suitable for an entry point. В свойствах Program.cs есть Build Action as Compile. Я понятия не имею, что не так.Общий список и статические основные

+0

Возможный дубликат [Почему я не могу использовать в качестве точки входа в C# приложение универсального типа?] (HTTP: // StackOverflow .com/questions/28045923/why-i-can-use-as-entry-point-in-c-sharp-app-a-generic-type) – hatchet

ответ

1

Метод Main, или точка входа в вашу программу, не может быть в классе, который имеет общие аргументы. У вашего класса Program есть аргумент типа T. Спецификация C# вызывает это в разделе 3.1 при запуске приложения:

Метод точки входа в приложение может не находиться в объявлении общего класса.

Вы должны создать новый класс вместо того, чтобы пытаться использовать 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); 
    } 
} 
+0

Итак, как я могу использовать свой собственный общий тип? –

+0

Большое спасибо. Когда я увидел ваш первый ответ, у меня просто было это решение в моей голове. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^