PDA

View Full Version : رده بالاتر کلاس



nima_dir
پنج شنبه 23 آبان 1387, 12:48 عصر
سلام دوستان
یه سوال داشتم.من یه کلاس دارم (اسمش رو میذارم نیما)که میخوام تو کلاسهای دیگه ازش Instance بگیرم. میخوام کلاسی که این کلاسم رو توش Instance گرفتم رو پیدا کنم.ممکنه 5 تا کلاس دیگه داشته باشم که حالا میخوام از داخل این کلاس نیما بتونم موارد کلاس بیرونی رو تست کنم.مثلا ما در بحث User Control با استفاده از Parent میتونیم به فرم دسترسی داشته باشیم.
ممنون میشم من رو راهنمایی کنید

SMRAH1
جمعه 24 آبان 1387, 17:16 عصر
دقیقا منظورتون رو نفهمیدم.اگر توضیح کاملتری بفرمایید،قطعا میشه کمکتون کرد!
ترجیحا یک نمونه کد بگذارید!

nima_dir
جمعه 24 آبان 1387, 19:29 عصر
سلام دوست عزیز
ببینین ما تو یوزر کنترل با استفاده از this.parent میتونیم به پدر یوزر کنترل یعنی جایی که یوزر کنترل داخل اون استفاده شده دسترسی داشته باشیم.
حالا فرض کنین ما یه کلاس داریم به اسم Class1 که میایم داخل Class2 که دارای یه پراپرتی به اسم P1 هست یه نمونه ازش میگیریم.حالا آیا این امکان وجود داره با استفاده از Class1 بشه مقدار P1 رو تغییر داد؟P1 مربوط به کلاس بیرونی است.

mohammad272005
جمعه 24 آبان 1387, 23:25 عصر
public static readonly Collectio<Nima> NimaCollection = new Collection<Nima>()
public Nima()
{
NimaCollection.Add(this);
}
حالا همه insatnceها رو می تونی ردیابی کنی.

nima_dir
جمعه 24 آبان 1387, 23:28 عصر
سلام
ممنون از کد مفیدتون .اما همچنان اون قسمت از مشکل یعنی دست بردن در کلاس خارجی مونده.ممنون میشم در اون زمینه هم راهنمایی بفرمایید

nima_dir
شنبه 25 آبان 1387, 00:24 صبح
سلام دوست عزیز
این کدی که فرمودید همیشه یک مقدار برمیگردونه؟شاید من متوجه منظور شما نشدم

mohammad272005
شنبه 25 آبان 1387, 00:45 صبح
شاید من متوجه منظور شما نشدم. از این بابت شرمنده. کد رو به این صوزت تغییر بدید لطفا:

public static readonly Collectio<Nima> NimaCollection = new Collection<Nima>()
public readonly Object Parent;
public Nima(Object parent)
{
this.Parent = parent;
NimaCollection.Add(this);
} حالا با یه لوپ روی NimaCollection و نگاه کردن به Parent هر عضو شما میتونید به هدفتون برسید.