Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
'construct1_name', verilen bağlamda geçerli olmayan bir 'construct1'dir.
Derleyici aşağıdaki gibi beklenmeyen bir yapı algılamış:
Sınıf oluşturucu, koşullu deyimde geçerli bir test ifadesi değildir.
Dizi öğesine başvurmak için örnek adı yerine sınıf adı kullanıldı.
Yöntem tanımlayıcısı bir yapı veya sınıfmış gibi kullanılır
Örnekler
Örnek 1
Aşağıdaki örnek CS0119 oluşturur: 'C.B()', verilen bağlamda geçerli olmayan bir yöntemdir. yönteminin C.Badını değiştirerek veya gibi N2.Bsınıfın B tam adını kullanarak bu hatayı düzeltebilirsiniz.
namespace N2
{
public static class B
{
public static void X() {}
}
}
namespace N1
{
public class C
{
void B() {}
void M() => B.X(); // CS0119
}
}
Örnek 2
Aşağıdaki örnek, bir tür koleksiyonuna sınıf adları eklemeye çalışırken CS0119'un oluştuğu yaygın bir senaryoyu gösterir. Derleyici, sınıf adlarını değil örnekleri bekler 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;
}
}
Bu hatayı düzeltmek için Type.GetType yöntemini veya typeof işlecini kullanarak Type örnekleri alın.
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;
}
}