Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
'construct1_name' adalah 'construct1', yang tidak valid dalam konteks yang diberikan.
Pengkompilasi mendeteksi konstruksi yang tidak terduga seperti berikut ini:
Konstruktor kelas bukan ekspresi pengujian yang valid dalam pernyataan kondisional.
Nama kelas digunakan alih-alih nama instans untuk merujuk ke elemen array.
Pengidentifikasi metode digunakan seolah-olah itu adalah struktur atau kelas
Contoh
Contoh 1
Sampel berikut menghasilkan CS0119: 'C.B()' adalah metode, yang tidak valid dalam konteks yang diberikan. Anda dapat memperbaiki kesalahan ini dengan mengubah nama metode C.B, atau menggunakan nama yang sepenuhnya memenuhi syarat untuk kelas B seperti N2.B.
namespace N2
{
public static class B
{
public static void X() {}
}
}
namespace N1
{
public class C
{
void B() {}
void M() => B.X(); // CS0119
}
}
Contoh 2
Sampel berikut menunjukkan skenario umum di mana CS0119 terjadi saat mencoba menambahkan nama kelas ke kumpulan jenis. Pengkompilasi mengharapkan instans Type , bukan nama kelas.
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;
}
}
Untuk memperbaiki kesalahan ini, gunakan Type.GetType fungsi atau typeof operator untuk mendapatkan Type instance:
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;
}
}