MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Pseudonime pentru tipuriși import static

Pseudonime

Pentru diverse clase și structuri, putem utiliza pseudonime. Apoi, în program, în locul numelui tipului, se folosește pseudonimul acestuia. De exemplu, pentru a afișa un șir pe ecran, se folosește metoda Console.WriteLine(). Dar acum vom seta un pseudonim pentru clasa Console:

using printer = System.Console;

printer.WriteLine("Laudate omnes gentes laudate");
printer.WriteLine("Magnificat in secula");

Cu ajutorul expresiei using printer = System.Console, specificăm că pseudonimul pentru clasa System.Console va fi printer. Această expresie nu are nimic în comun cu importul spațiilor de nume la începutul fișierului, deși folosește operatorul using.

În acest caz, se folosește numele complet al clasei, incluzând spațiul de nume în care este definită clasa. Apoi, pentru a afișa un șir, se folosește expresia printer.WriteLine("Laudate omnes gentes laudate").

Această posibilitate poate fi utilizată atunci când numele claselor și structurilor sunt destul de lungi și dorim să le scurtăm pentru a obține un cod mai concis sau când dorim să avem nume de tipuri mai expresive după opinia noastră subiectivă.

Un alt exemplu. Definim o clasă și un pseudonim pentru aceasta:

using printer = System.Console;
using User = Person;

User tom = new User("Tom");
printer.WriteLine(tom.Name);    // Tom

class Person
{
   public string Name { get; set; }
   public Person(string name) => Name = name;
}

Clasa se numește Person, dar în program se folosește pseudonimul User pentru aceasta.

Import static

De asemenea, în C# există posibilitatea importului funcționalităților statice ale claselor. De exemplu, importăm funcționalitățile clasei Console:

using static System.Console;

WriteLine("Hello from C# 8.0");

Expresia using static importă în program toate metodele și proprietățile statice, precum și constantele. După aceasta, nu mai trebuie să specificăm numele clasei atunci când apelăm o metodă.

În mod similar, putem defini propriile clase și să le importăm:

using static System.Console;
using static Operation;

WriteLine(Sum(5, 4));       // 9
WriteLine(Subtract(5, 4));  // 1
WriteLine(Multiply(5, 4)); // 20

static class Operation
{
   public static int Sum(int a, int b) => a + b;
   public static int Subtract(int a, int b) => a - b;
   public static int Multiply(int a, int b) => a * b;
}

În acest exemplu, am definit o clasă statică Operation și am importat metodele sale statice Sum, Subtract și Multiply. După import, putem apela aceste metode direct, fără a mai specifica numele clasei Operation.

← Lecția anterioară Lecția următoare →