Home
C#
extern alias Example
This page was last reviewed on Jun 29, 2023.
Dot Net Perls
Extern. The extern keyword eliminates conflicts. Suppose we have 2 class libraries that contain a class that has the same name.
For example, ClassLibrary1 and ClassLibrary2 both introduce the same class. With extern, we can use both of those classes at once. This keyword has limited use in most environments.
class
An example. Create 2 Class Library projects and have them specify the same name class with no containing namespace. In Visual Studio change the Aliases fields to X and Y.
Then You can create the main program, the console application, that specifies the extern aliases.
Info The extern alias X and Y are meaningless unless they match the settings you specify in Visual Studio.
And The X and Y aliases are mapped to the ClassLibrary1 and ClassLibrary2 DLL files.
Tip You must specify the extern alias in your C# program, and also in the compilation system (Visual Studio).
extern alias X; extern alias Y; using System; class Program { static void Main() { X.A._b = 1; Y.A._b = 2; Console.WriteLine(X.A._b); Console.WriteLine(Y.A._b); } }
public class A { public static int _b; }
public class A { public static int _b; }
1 2
Usage. In simple programs, the extern alias syntax is rarely useful. However, if you are developing a huge framework, it would definitely be useful.
Also Extern is handy in large programs, or ones that use multiple versions of the same library at once.
This alias directive provides a way for us to specify the location of a class, not just its name. This means we can use a class A from many files with no conflicts.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Jun 29, 2023 (edit).
Home
Changes
© 2007-2024 Sam Allen.