دسترسی به اعضای غیر استاتی
;متد استاتیک تنها میتواند به اعضای استاتیک دسترسی داشته باشد و نمی تواند مستقیما به اعضای عادی کلاس دسترسی پیدا کند
زیرا اعضای عادی یک کلاس حتما باید به یک شیء وصل شوند تا نقدارشان در آن شیء ذخیره شود. اما اعضای استاتیک مستقل از اشیا هستند و میتوان مستقیما به آن ها دسترسی پیدا کرد. اگر قصد دارید یک متد استاتیک به اعضای عادی نیز دسترسی داشته باشید باید از طریق یک شیء این کار را انجام دهید.
class MyClass
{
public void NonStaticMethod(int x)
{
Console.Write(x);
}
public static void StaticMethod(MyClass a)
{
a.NonStaticMethod(4);
}
}
class Program
{
static void Main(string[] args)
{
MyClass ob=new MyClass();
MyClass.StaticMethod(ob);
}
}
در مثال بالا یک متد استاتیک داریم که ورودی از جنس کلاس MyClass دارد و از طریق این شیء به متد غیر استاتیک دسترسی داریم.