TOC

This article is currently in the process of being translated into Italian (~99% done).

Classi:

Partial Classes

Se hai lavorato con c#, o altri linguaggi di programmazione, sarai abituato al fatto he il nome di una classe deve essere unico - non possono esistere due classi con lo stesso nome, tranne se appartengono a diversi namespaces. Tuttavia, ad un certo punto, Microsoft ha deciso di cambiare questo fatto con l'introduzione delle classi parziali.

Quando si definisce la propria classe con la parola chiave “partial”, è consentito estendere la funzionalità della classe con un'altra classe, che deve essere anch’essa dichiarata come parziale. Questo è utile nelle seguenti situazioni:

  • Quando hai una classe molto grande, puoi conservarla in più file, per rendere più facile lavorare con varie parti delle classi. Per esempio, si potrebbero tenere tutte le proprietà in un file e tutti i metodi in un altro file, pur avendo una sola classe.
  • Quando lavori con un designer, come quello di Visual Studio, dove tutto il codice del designer generato automaticamente può essere tenuto in un unico file, mentre il tuo codice è conservato in un altro file.

Lasciamelo dimostrare con un esempio. Nel mio progetto, ho il solito Program.cs, che si trova nel console app. Oltre a quello, ho aggiunto due file: PartialClass1.cs e PartialClass2.cs. Di seguito i file e il loro contenuto:

PartialClass1.cs

using System;

namespace PartialClasses
{
    public partial class PartialClass
    {
public void HelloWorld()
{
    Console.WriteLine("Hello, world!");
}
    }
}

PartialClass2.cs

using System;

namespace PartialClasses
{
    public partial class PartialClass
    {
public void HelloUniverse()
{
    Console.WriteLine("Hello, universe!");
}
    }
}

Nota che entrambe le classi sono definite con la parola chiave partial ed hanno lo stesso nome. Inoltre vedi che entrambe definiscono un metodo - HelloWorld() e HelloUniverse(). In Program.cs adesso possiamo usare questa classe come se fosse stata definita in un solo posto, come qualsiasi altra classe:

using System;

namespace PartialClasses
{
    class Program
    {
static void Main(string[] args)
{
    PartialClass pc = new PartialClass();
    pc.HelloWorld();
    pc.HelloUniverse();
}
    }
}

Sommario

Con le classi parziali, puoi dividere la tua classe in più files, o perchè la definizione della classe è molto grande oppure quando gli strumenti di lavoro ne beneficiano, come con il designer di Visual Studio per WinForms.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!