In VB.Net können Sie so etwas wie die folgenden ohne Probleme tun ... einfach ignorieren die Tatsache, dass dies eine ziemlich nutzlose Klasse ist :-)Namespace Referenzen in C# vs. VB.Net
Imports System
Public Class Class1
Public Shared Function ArrayToList(ByVal _array() As String) As Collections.Generic.List(Of String)
Return New Collections.Generic.List(Of String)(_array)
End Function
End Class
Allerdings, wenn Sie die gleiche Sache in C# tun ...
using System;
public class Class1
{
public static Collections.Generic.List ArrayToList(string[] _array)
{
return new Collections.Generic.List(_array);
}
}
Sie einen Fehler auf der Linie mit der Rückkehr auf „Collections.Generic.List“ sagen: „der Typ oder Namespace-Name‚Collections‘bekommen konnte nicht gefunden werden (fehlt Ihnen eine Verwendungsrichtlinie oder eine Baugruppenreferenz?) "
Ich weiß, dass Sie tatsächlich eine using-Direktive zu System.Collections.Generic verwenden müssen, um Liste zu verwenden, aber ich weiß nicht warum. Ich verstehe auch nicht, warum ich nicht den gleichen Fehler in der Funktionsdeklaration bekomme, sondern nur in der return-Anweisung.
Ich hatte gehofft, jemand kann dies erklären oder mich sogar auf eine Technet-Seite verweisen, die es erklärt. Ich habe gesucht, kann aber nichts finden, was dieses Konzept erklärt.
Edit: Nur um festzustellen, die Frage ist wirklich über die Referenzierung eines Sub-Namespace wie in dem Beispiel in der Lage, Sammlungen innerhalb System verweisen.
Referenz: http://stackoverflow.com/questions/768905/namespace-and-sub-namespaces – Kirtan