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.
Statik olmayan alan, yöntem veya 'member' özelliği için nesne başvurusu gereklidir
Statik olmayan bir alan, yöntem veya özellik kullanmak için önce bir nesne örneği oluşturmanız gerekir. Statik yöntemler hakkında daha fazla bilgi için bkz . Statik Sınıflar ve Statik Sınıf Üyeleri. Sınıfların örneklerini oluşturma hakkında daha fazla bilgi için bkz . Örnek Oluşturucuları.
Örnek 1
Aşağıdaki örnek CS0120 oluşturur:
// CS0120_1.cs
public class MyClass
{
// Non-static field.
public int i;
// Non-static method.
public void Method() { }
// Non-static property.
public int Prop
{
get
{
return 1;
}
}
public static void Main()
{
i = 10; // CS0120
Method(); // CS0120
int p = Prop; // CS0120
}
}
Bu hatayı düzeltmek için önce sınıfının bir örneğini oluşturun:
// CS0120_1.cs
public class MyClass
{
// Non-static field.
public int i;
// Non-static method.
public void Method() { }
// Non-static property.
public int Prop
{
get
{
return 1;
}
}
public static void Main()
{
var mc = new MyClass();
mc.i = 10;
mc.Method();
int p = mc.Prop;
}
}
Örnek 2
Cs0120, statik bir yöntemden statik olmayan bir yönteme çağrı yapılırsa da aşağıdaki gibi oluşturulur:
// CS0120_2.cs
public class MyClass
{
public void Method() { }
public static void Main()
{
Method(); // CS0120
}
}
Bu hatayı düzeltmek için önce sınıfının bir örneğini oluşturun:
// CS0120_2.cs
public class MyClass
{
public void Method() { }
public static void Main()
{
var mc = new MyClass();
mc.Method();
}
}
Örnek 3
Benzer şekilde, statik bir yöntem, sınıfın bir örneğini açıkça vermediğiniz sürece aşağıdaki gibi bir örnek yöntemini çağıramaz:
// CS0120_3.cs
using System;
public class MyClass
{
public static void Main()
{
DoIt("Hello There"); // CS0120
}
private void DoIt(string sText)
{
Console.WriteLine(sText);
}
}
Bu hatayı düzeltmek için statik anahtar sözcüğünü yöntem tanımına da ekleyebilirsiniz:
// CS0120_3.cs
using System;
public class MyClass
{
public static void Main()
{
DoIt("Hello There");
}
private static void DoIt(string sText)
{
Console.WriteLine(sText);
}
}