Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Impossibile assegnare il campo statico 'name' in un inizializzatore di oggetto
Inizializzatori di oggetti per definizione inizializza oggetti, o istanze, di classi. Non possono essere utilizzati per inizializzare un static campo di un tipo. Indipendentemente dal numero di istanze di una classe creata, è presente una sola copia di un static campo. Per i tipi generici, ogni tipo generico chiuso ha una propria copia di campi statici. I campi statici contrassegnati con ThreadStaticAttribute hanno una copia per ogni thread.
Per correggere l'errore
- Modificare il campo in un campo dell'istanza nel tipo oppure rimuovere il tentativo di inizializzarlo dall'inizializzatore di oggetto.
Esempio
Il codice seguente genera l'errore CS1914 perché l'inizializzatore tenta di inizializzare il TestClass.Number campo, ovvero static:
// cs1914.cs
using System.Linq;
public class TestClass
{
public string Message { get; set; }
public static int Number { get; set; }
}
class Test
{
static void Main()
{
TestClass b = new TestClass() { Message = "Hello", Number = "555-1212" }; // CS1914
}
}