Ich versuche die c # Anweisung zu verstehen ... Warum funktioniert das?
%Vor%aber das nicht?
%Vor%Die zweite führt zu einem Kompilierungsfehler "Der Typ oder der Namespace DataAnnotations kann nicht gefunden werden. Vermissen Sie eine verwendung Direktive oder eine Assembly-Referenz?
using Direktive ermöglicht die Verwendung von Klassennamen aus dem Namespace, den Sie als Argument angegeben haben. Da DataAnnotations keine Klasse, sondern ein Namespace ist, ist sie im zweiten Fall nicht verfügbar. Sie sollten entweder vollqualifizierte Klassennamen NS1.NS2.Class1 verwenden oder Ihr Programm mit NS1.NS2 starten; und dann Class1 verwenden.
Weil Sie entweder Fully Qualified Class Names verwenden können oder verwenden Sie einfach den Klassennamen und lassen Sie .NET über die using
-Direktive auflösen. Es gibt keinen Mittelweg.
Klasse1 -
%Vor%kann als
aufgerufen werden %Vor%oder
%Vor%aber nicht wie
%Vor% Im letzten Fall würde der Compiler eigentlich nach dem Root-Namensraum NameSpace3
suchen, der eindeutig nicht existiert. Es wird nicht versucht, nach System.NameSpace3
oder NameSpace1.NameSpace3
oder NameSpace1.NameSpace2.NameSpace3
usw. zu suchen.
Tags und Links c#