В 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
Однако, если вы делаете то же самое в C # ...
using System;
public class Class1
{
public static Collections.Generic.List ArrayToList(string[] _array)
{
return new Collections.Generic.List(_array);
}
}
Вы получите ошибку в строке с возвратом в "Collections.Generic.List", говорящем: "Не удалось найти тип или имя пространства имен" Коллекции "(отсутствует директива using или ссылка на сборку?)"
Я знаю, что на самом деле вы должны иметь директиву using для System.Collections.Generic для использования List, но я не знаю почему . Я также не понимаю, почему я не получаю ту же ошибку в объявлении функции, а только в операторе возврата.
Я надеялся, что кто-нибудь сможет объяснить это или даже отослать меня на техническую страницу, которая объясняет это. Я искал вокруг, но не могу найти ничего, что объясняет эту концепцию.
Редактировать: Следует отметить, что вопрос действительно в том, чтобы ссылаться на суб-пространство имен, например, в примере с возможностью ссылаться на Коллекции в Системе.