När du importerar en namnrymd med using, får du bara in de klasser som finns i namnrymden, inte några undernamnrymder. Du måste importera varje namnrymd för sig.
Jag har kopierat dll-filen MyProject.dll från ett projekt och skapat en referens till denna. Det är inga problem att skriva:
string s = MyProject.Foo.Bar.GetMyString();
Däremot fungerar inte:
using MyProject;
string s = Foo.Bar.GetMyString();
Dock fungerar följande:
using MyProject.Foo;
string s = Bar.GetMyString();
Samma sak är det ju med using System;:
Fungerar:
string s = System.IO.Path.GetFileNameWithoutExtension("foo.htm");
Fungerar inte:
using System;
string s = IO.Path.GetFileNameWithoutExtension("foo.htm");
Det märkliga är att vissa klasser går att referera till utan att inkludera System:
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
Här behövs inte System.EventArgs (som ju är klassen som refereras).
Idéer?
