w VB.NET można zrobić coś jak następuje bez żadnych problemów ... po prostu zignorować faktu, że jest to całkiem bezużyteczny klasa :-)odniesienia nazw w 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
jeśli jednak zrobić to samo w C# ...
using System;
public class Class1
{
public static Collections.Generic.List ArrayToList(string[] _array)
{
return new Collections.Generic.List(_array);
}
}
dostaniesz błąd na linii z powrotem na „Collections.Generic.List”, mówiąc „typu lub obszaru nazwa«Collections»nie może można znaleźć (czy brakuje instrukcji użycia lub odniesienia do zespołu?) "
Wiem, że musisz faktycznie używać dyrektywy System.Collections.Generic do używania listy, ale nie wiem, , dlaczego. Nie rozumiem również, dlaczego nie dostaję tego samego błędu w deklaracji funkcji, ale tylko w oświadczeniu zwrotnym.
Miałem nadzieję, że ktoś może to wyjaśnić lub nawet odesłać mnie do strony technicznej, która to wyjaśnia. Szukałem w pobliżu, ale nie mogę znaleźć niczego, co wyjaśniałoby tę koncepcję.
Edycja: Należy zauważyć, że chodzi tu o odniesienie do przestrzeni nazw podrzędnych, tak jak w przykładzie można odwoływać się do kolekcji w systemie.
referencyjny: http://stackoverflow.com/questions/768905/namespace-and-sub-namespaces – Kirtan