1). Visibility. Értelem szerűen.
2). Nem kell. Amikor behúzol egy assemblyt reference-nek, akkor lehet ott adni neki aliast, különben alapból minden a global: alá kerül. De ez a saját projektedben fogja a behúzott assembly névterét "elhelyezni" valami alias alá.
Hasonló, mikor mondjuk van egy A.Foo és egy B.Foo osztályod, és az A és B névtér is usingolva van, tudsz ilyet csinálni, hogy
using A;
using B;
using AFoo = A.Foo;
using BFoo = B.Foo;
class Bar
{
public AFoo A { get; set; }
public BFoo B { get; set; }
}
(Itt ugye lehetne
public A.Foo A { get; set; }
is, de ha sokat kell használni, nem túl kényelmes.)
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™