web-dev-qa-db-fra.com

'namespace' mais est utilisé comme un 'type'

Ceci est mon programme que la classe utilise s'appelle Time2. J'ai la référence ajoutée à TimeTest. L'erreur 'Time2' continue à apparaître. Elle est un 'espace de noms' mais est utilisée comme un 'type'

Quelqu'un pourrait-il me dire en quoi consiste cette erreur et comment la corriger?

namespace TimeTest
{
  class TimeTest
  {
    static void Main(string[] args)
    {
        Time2 t1 = new Time2();
    }
  }
}
62
TheAce

Je suppose que vous avez le même problème au moins deux fois .

Ici:

namespace TimeTest
{
    class TimeTest
    {
}

... vous déclarez un type avec le même nom que l'espace de noms dans lequel il se trouve. Ne faites pas ça.

Maintenant, vous avez apparemment le même problème avec Time2. Je suspecte si vous ajoutez:

using Time2;

à votre liste de directives using, votre code sera compilé. Mais s'il vous plaît, s'il vous plaît, corrigez s'il vous plaît le plus gros problème: le choix problématique des noms. (Suivez le lien ci-dessus pour en savoir plus sur pourquoi c'est une mauvaise idée.)

(En outre, à moins que vous ne souhaitiez vraiment écrire des types basés sur le temps, je vous déconseille de le faire ... et je le dis comme quelqu'un qui le fait Faites exactement cela. Utilisez les fonctionnalités intégrées, ou une bibliothèque tierce telle que, euh, la mienne . Travailler correctement avec les dates et les heures est étonnamment complexe. :)

91
Jon Skeet
namespace TestApplication // Remove .Controller
{
    public class HomeController : Controller
    {
       public ActionResult Index()
        {
            return View();
        }
    }
}

Supprimer le contrôleur Word de l'espace de noms

15
shoba

Veuillez vérifier que votre nom de classe et votre nom sont les mêmes ...

Cela se produit lorsque l'espace de noms et le nom de la classe sont identiques. Faites une chose, écrivez le nom complet de l’espace-noms lorsque vous souhaitez l’utiliser.

using Student.Models.Db;

namespace Student.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            List<Student> student = null;
            return View();
        }
    }
0