How to assign multiple names simultaneously to a C # class

Is there a way that a C # class can be assigned multiple names, for example:

class foo {}

class AlternativeFooName refers to Foo

I want to have access to Foo through both names, Foo and AlternativeFooName, but without inheritance from Foo.

An application for this would be to provide the class with a long descriptive name, but it could be abbreviated when used, for example:

instead of Foo f = new Foo (); being able to use the following with the same effect: F f = new F ();

+3
source share
2 answers

using directive also applies to classes, for example:

using C = System.Console;
+10
source

You can use an operator using, for example:

using Foo = My.Namespace.LongFoo;
+3

Source: https://habr.com/ru/post/1787558/