Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
"construct1_name" ist ein "Konstrukt1", das im angegebenen Kontext ungültig ist.
Der Compiler hat eine unerwartete Konstruktion wie das folgende erkannt.
Ein Klassenkonstruktor ist kein gültiger Testausdruck in einer bedingten Anweisung.
Anstelle eines Instanznamens wurde ein Klassenname verwendet, um auf ein Arrayelement zu verweisen.
Ein Methodenbezeichner wird verwendet, als ob es sich um eine Struktur oder Klasse handelt.
Beispiele
Beispiel 1
Im folgenden Beispiel wird CS0119 generiert: "C.B()" ist eine Methode, die im angegebenen Kontext ungültig ist. Sie können diesen Fehler beheben, indem Sie den Namen der Methode C.B ändern oder den vollqualifizierten Namen für die Klasse B, wie N2.B, verwenden.
namespace N2
{
public static class B
{
public static void X() {}
}
}
namespace N1
{
public class C
{
void B() {}
void M() => B.X(); // CS0119
}
}
Beispiel 2
Das folgende Beispiel zeigt ein häufiges Szenario, in dem CS0119 auftritt, wenn versucht wird, Klassennamen einer Auflistung von Typen hinzuzufügen. Der Compiler erwartet Type Instanzen und keine Klassennamen.
using System;
using System.Collections.Generic;
public class Page_BaseClass { }
public class Page_CRTable { }
public class Page_DBGridWithTools { }
public static class PageTypeManager
{
public static List<Type> GetPageTypes()
{
List<Type> pageTypesList = new List<Type>();
// CS0119: 'Page_BaseClass' is a type, which is not valid in the given context
pageTypesList.Add(Page_BaseClass);
pageTypesList.Add(Page_CRTable);
pageTypesList.Add(Page_DBGridWithTools);
return pageTypesList;
}
}
Um diesen Fehler zu beheben, verwenden Sie die Type.GetType Methode oder den typeof Operator, um Instanzen abzurufen Type :
using System;
using System.Collections.Generic;
public static class PageTypeManager
{
public static List<Type> GetPageTypes()
{
List<Type> pageTypesList = new List<Type>();
// Use typeof operator to get Type instances
pageTypesList.Add(typeof(Page_BaseClass));
pageTypesList.Add(typeof(Page_CRTable));
pageTypesList.Add(typeof(Page_DBGridWithTools));
return pageTypesList;
}
// Alternative: Load types dynamically by name
public static List<Type> GetPageTypesByName(string[] typeNames)
{
List<Type> pageTypesList = new List<Type>();
foreach (string typeName in typeNames)
{
Type type = Type.GetType(typeName);
if (type != null)
{
pageTypesList.Add(type);
}
}
return pageTypesList;
}
}