Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Statické pole name nelze přiřadit v inicializátoru objektů.
Inicializátory objektů podle definice inicializují objekty nebo instance tříd. Nelze je použít k inicializaci static pole typu. Bez ohledu na to, kolik instancí třídy se vytvoří, existuje pouze jedna kopie static pole. U obecných typů má každý uzavřený obecný typ vlastní kopii statických polí. Statická pole označená ThreadStaticAttribute mají jednu kopii na vlákno.
Oprava této chyby
- Změňte pole na pole instance v typu nebo odeberte pokus o inicializaci z inicializátoru objektu.
Příklad
Následující kód vygeneruje CS1914, protože inicializátor se pokusí inicializovat TestClass.Number pole, což je 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
}
}