2010-12-18 15 views
4

Um die Uhrzeit und das Datum vom System zu erhalten, warum brauche ich System.DateTime.Now? Wie Sie sehen können, ist oben bereits ein System-Namespace deklariert. Wenn ich gerade DateTime schreibe. Jetzt funktioniert es nicht. Ich habe gelernt, früher, dass, wenn wir „mit System“ erklären, dann müssen wir nicht erklären oder schreiben System.Console.WriteLine oder System.DateTime.Now usw.DateTime in .NET

using System; 
using System.Text; 

namespace DateTime 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("The current date and time is " + System.DateTime.Now); 
     } 
    } 
} 

Antwort

11

Es ist, weil Ihr Namensraum bereits DateTime genannt wird, die kollidiert mit einem vorhandenen Klassennamen. So können Sie entweder:

namespace DateTime 
{ 
    using System; 
    using System.Text; 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("The current date and time is " + DateTime.Now); 
     } 
    } 
} 

oder eine bessere Namenskonvention finden Sie Namensräume besitzen, die, was ich würde Ihnen empfehlen, tun:

using System; 
using System.Text; 

namespace MySuperApplication 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("The current date and time is " + DateTime.Now); 
     } 
    } 
} 
+0

Du bist schnell heute Abend Darin :) – alexn

+0

@alexn, ja, es ist dank dem Bier :-) –

+0

Ich sehe ... Danke –

3

Da Ihr Programm Klasse in einem Namespace Datetime genannt wird. Dieser Konflikt bedeutet, dass der Compiler in Ihrem Namespace DateTime nach einem Typ namens Now sucht, der offensichtlich nicht existiert.

Benennen Sie Ihren Namespace um und Sie werden das Problem nicht haben.

Verwandte Themen