PDA

View Full Version : مبتدی: دسترسی به فیلد های درون کلاس از کلاسی دیگر



Changer
جمعه 21 تیر 1392, 14:41 عصر
دسترسی به فیلد های درون کلاس از کلاسی دیگر را اگر می شود توضیح دهید.چون با ساختن شی فقط میتوان به متد ها دسترسی داشت مرسی

CsharpNevisi
جمعه 21 تیر 1392, 15:11 عصر
دسترسی به فیلد های درون کلاس از کلاسی دیگر را اگر می شود توضیح دهید.چون با ساختن شی فقط میتوان به متد ها دسترسی داشت مرسی

منظورت متغییرهای کلاس دیگس ؟؟
اگه اره که خوب اگر به صورت public تعریف شن هر جای برنامه میشه دیدشون

Changer
جمعه 21 تیر 1392, 16:16 عصر
متغیر ها را نمی توان براشون قابلیت دسترسی تعریف کرد

esafb52
جمعه 21 تیر 1392, 16:24 عصر
نه باید از پراپرتی استفاده کنی

CsharpNevisi
جمعه 21 تیر 1392, 16:35 عصر
http://www.8pic.ir/images/67136323006046304559.png

http://www.8pic.ir/images/80285317370349123768.png

ali_md110
جمعه 21 تیر 1392, 16:37 عصر
میتونم بپرسم چرا ؟

متغیر ها را نمی توان براشون قابلیت دسترسی تعریف کرد

Changer
جمعه 21 تیر 1392, 16:57 عصر
چون من توی محیط console نمیتونم توی تابع mainمتغیر Publicتعریف کنم

esafb52
جمعه 21 تیر 1392, 16:59 عصر
توکلاس پروگرام که بالای متد main هست بصورت پابلیک تعریف کن هیچ مشکلی هم نیست

Changer
جمعه 21 تیر 1392, 17:02 عصر
کلا من توی توابع static با خوندن یا نوشتن متغیر مشکل دارم

esafb52
جمعه 21 تیر 1392, 17:03 عصر
این رو ببین:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{//البته این روش درست نیست
public int a;
//روش درست
private string _name;
//استفاده از پراپرتی برای کار با فیلد در بیرون کلاس ها
public string name
{
get { return _name; }
set { _name = value; }
}


static void Main(string[] args)
{
Program p = new Program();
//هاینجا پی نیم پراپرتی هست نه فیلد
p.name = "esa";
Console.WriteLine(p.name);
Console.ReadKey();

}
}
}