Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
"construct1_name" — это "construct1", который недопустим в данном контексте.
Компилятор обнаружил непредвиденное построение, например следующее:
Конструктор класса не является допустимым выражением теста в условном операторе.
Имя класса использовалось вместо имени экземпляра для ссылки на элемент массива.
Идентификатор метода используется как если бы он был структурой или классом
Примеры
Пример 1
В следующем примере возникает ошибка CS0119: "C.B()" является методом, недопустимым в данном контексте. Эту ошибку можно исправить, изменив имя метода C.Bили используя полное имя для класса B , например N2.B.
namespace N2
{
public static class B
{
public static void X() {}
}
}
namespace N1
{
public class C
{
void B() {}
void M() => B.X(); // CS0119
}
}
Пример 2
В следующем примере показан распространенный сценарий, когда CS0119 возникает при попытке добавить имена классов в коллекцию типов. Компилятор ожидает Type экземпляры, а не имена классов.
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;
}
}
Чтобы устранить эту ошибку, используйте Type.GetType метод или typeof оператор для получения 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;
}
}