Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
"construct1_name" es un "construct1", lo cual no es válido en el contexto dado.
El compilador detectó una construcción inesperada, como la siguiente:
Un constructor de clase no es una expresión de prueba válida en una instrucción condicional.
Se usó un nombre de clase en lugar de un nombre de instancia para hacer referencia a un elemento de matriz.
Se usa un identificador de método como si fuera una estructura o clase.
Ejemplos
Ejemplo 1
El ejemplo siguiente genera la advertencia CS0119: "C.B()" es un método, que no es válido en el contexto especificado. Para corregir este error, cambie el nombre del método C.Bo use el nombre completo de la clase B como N2.B.
namespace N2
{
public static class B
{
public static void X() {}
}
}
namespace N1
{
public class C
{
void B() {}
void M() => B.X(); // CS0119
}
}
Ejemplo 2
En el ejemplo siguiente se muestra un escenario común en el que se produce CS0119 al intentar agregar nombres de clase a una colección de tipos. El compilador espera Type instancias, no nombres de clase.
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;
}
}
Para corregir este error, use el Type.GetType método o el typeof operador para obtener Type instancias:
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;
}
}