Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Może być konieczne odwołanie do dwóch wersji zestawów, które mają te same w pełni kwalifikowane nazwy typów. Na przykład może być konieczne użycie co najmniej dwóch wersji zestawu w tej samej aplikacji. Korzystając z aliasu zestawu zewnętrznego, przestrzenie nazw z każdego zestawu można opakować wewnątrz przestrzeni nazw na poziomie głównym o nazwie aliasu, co umożliwia ich używanie w tym samym pliku.
Uwaga / Notatka
Słowo kluczowe extern jest również używane jako modyfikator metody, deklarując metodę napisaną w kodzie niezarządzanym.
Aby odwołać się do dwóch zestawów z tymi samymi w pełni kwalifikowanymi nazwami typów, alias musi być określony w wierszu polecenia w następujący sposób:
/r:GridV1=grid.dll
/r:GridV2=grid20.dll
Spowoduje to utworzenie aliasów GridV1 zewnętrznych i GridV2. Aby użyć tych aliasów z poziomu programu, odwołaj się do nich przy użyciu słowa kluczowego extern . Przykład:
extern alias GridV1;
extern alias GridV2;
Każda deklaracja aliasu extern wprowadza dodatkową przestrzeń nazw na poziomie głównym, która jest równoległa (ale nie leży w obrębie) globalnej przestrzeni nazw. W związku z tym typy z każdego zestawu mogą być określane bez niejednoznaczności przy użyciu ich w pełni kwalifikowanej nazwy, zakorzenionej w odpowiednim aliasie przestrzeni nazw.
W poprzednim przykładzie GridV1::Grid będzie to kontrolka siatki z grid.dllelementu i GridV2::Grid będzie kontrolką siatki z grid20.dll.
Korzystanie z programu Visual Studio
Jeśli używasz programu Visual Studio, aliasy mogą być podane w podobny sposób.
Dodaj odwołanie dogrid.dll i grid20.dll do projektu w programie Visual Studio. Otwórz kartę właściwości i zmień aliasy z globalnej na GridV1 i GridV2 odpowiednio.
Użyj tych aliasów w taki sam sposób, jak powyżej
extern alias GridV1;
extern alias GridV2;
Teraz możesz utworzyć alias dla przestrzeni nazw lub typu przy użyciu dyrektywy aliasu. Aby uzyskać więcej informacji, zobacz using directive (Używanie dyrektywy).
using Class1V1 = GridV1::Namespace.Class1;
using Class1V2 = GridV2::Namespace.Class1;
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.