دسترسی به یک Variable
سلام
فرض کنید variable داریم که متعلق به متد A است یعنی در متد A تعریف شده آیا می شه از متد B که در همون کلاس متد A است بهش دسترسی داشت؟
جند خط کد ساده نوشتم و این مشکل رو دارم یعنی از متد B نمیتونم به Varible متعلق به متد A دسترسی داشته باشم.
درصورت لزوم کدها رو تایپ می کنم.
6 پاسخ
سلام
نمونه کد خودتان را قرار بدهید بهتر میشه راهنمای کرد
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication18
{
public class Program
{
//private static int a;
public static int NumberTest1(int num)
{
num = 10;
int a = num + 10;
return a;
}
public static void Main(string[] Args)
{
Console.Write(a);
Console.ReadLine();
}
}
}
ممنون
یادم رفته بودم اون کامنت رو بردارم بدون اون هم این مشکل وجود داره. اگه تو ویژوال استودیو کد رو اجرا کنید خطا رو می بینید.
در مورد بلاک هم، با فرض این که اون خط رو کامنت نکنیم و فعال باشه باز هم مشکل پابرجاست.
این کد میگه a رو چاپ کن ولی شما کامند کردی خط تعریف a رو,در ضمن متغیر داخل یک بلاک فقط در همان بلاک قابل دسترسی هستند مگر اینکه در سطح کلاس تعریف بشون ,
سلام و ممنون از لطف شما، ببخشید نمیدونم چرا کدها از سمت راست درج میشند.
نمی دونم چرا با این که در متد NumberTest1 مقدار a تعریف شده باز هم در متد Main ارور میده؟
مگر این طور نیست که در کلاس Program چون مقدارش Public هستش تمام متغیرهایی که داخلش تعریف میشند، در همه جا و در همه ی متدها قابل استفاده هستند؟
class Program { public static int a; static void Main(string[] args) { Console.WriteLine(a); Console.ReadKey(); } }