PDA

View Full Version : یک سوال در مورد نوشتم کلاس



alireza_CBoy
دوشنبه 16 آبان 1384, 22:42 عصر
سلام

من تازه .NET رو شروع کردم، با کلاس نویسیش کمی دچار مشکل شدم.

والا نمیدونم سوالمو چطوری مطرح کنم. کد زیر رو در نظر بگیرید:
Dim c As New Class1

c.Persons(1).Name = "Alireza"
c.Persons(1).Age = 29

چطوری میتونم با زدن . بعد از یک Property، Propertyهای دیگه ای لیست بشه.

ممنون....

مجتبی کریمی
دوشنبه 16 آبان 1384, 23:21 عصر
این کدی که شما نوشتید یه همچین چیزایی هست
public class Class1

public structure AllPersons
dim Name as string
dim age as byte
end Structure

public Persons(n) as AllPersons

end Class

alireza_CBoy
دوشنبه 16 آبان 1384, 23:39 عصر
این کدی که شما نوشتید یه همچین چیزایی هست
public class Class1

public structure AllPersons
dim Name as string
dim age as byte
end Structure

public Persons(n) as AllPersons

end Class

مطمئن هستید راه حلتون درسته؟ چون پیغام زیر رو داد:

Expression is a value and therefore cannot be the target of an assignment.

M.kavyani
سه شنبه 17 آبان 1384, 00:06 صبح
با سلام
دوست عزیزمون سوال خوبی رو مطرح کردند و یکی از دوستان نیز لطف کردن جواب دادن . راستش منم این سوالو داشتم ولی دوست ما پیش دستی کردند و بیان کردند.متاسفانه پاسخ داده شده درست نیست و از دوستان دیگر خواهش میکنم به این سوال پاسخ بدهند.
ممنون

white fox
سه شنبه 17 آبان 1384, 00:54 صبح
من دقیقا متوجه سوال نشدم....اما از انتهای سوالشون من اینطوری فهمیدم که ایشون میخوان یه پراپرتی برای کلاس داشته باشند که بعد از زدن یه نقطه بازم یه سری پراپرتی دیگه داشته باشند...
مانند label.font.bold یه همچین چیزی درسته؟
این بر میگرده به مبحث Object Modeling که اگر منظورتون اینه بگید که من یه مثال براتون بزارم

alireza_CBoy
سه شنبه 17 آبان 1384, 08:36 صبح
من دقیقا متوجه سوال نشدم....اما از انتهای سوالشون من اینطوری فهمیدم که ایشون میخوان یه پراپرتی برای کلاس داشته باشند که بعد از زدن یه نقطه بازم یه سری پراپرتی دیگه داشته باشند...
مانند label.font.bold یه همچین چیزی درسته؟
این بر میگرده به مبحث Object Modeling که اگر منظورتون اینه بگید که من یه مثال براتون بزارم

سلام

درسته، منظورم همینه.

ممنون میشم هرچه زودتر این لطف رو بکنید.

titbasoft
سه شنبه 17 آبان 1384, 16:51 عصر
برای این منظور باید از collection ها استفاده کنید. در دات نت انواع collection ها برای سرویس دادن به انواع نیازها بوجود آمده اند مثلا یک base class وجود داره در فضای نام System.Collections به نام CollectionBase که می تونید ازش استفاده کنید array , sorted list و .... انواع دیگر collection ها هستند. در مورد هر هرکدوم از اونها توی این سایت قبلا بحث شده.

white fox
چهارشنبه 18 آبان 1384, 02:02 صبح
خوب یک روش میتونه روشی باشه که دوستمون titbasoft گفته...
اما در مبحث Object Modeling به این صورت هست که شما اول کلاس های فرعی تون رو تعریف میکنید... مثلا در مورد Label.Text.Bold اول کلاسی که مربوط به Bold کردن متنه مینویسید ....
حالا در کلاسی که دارید Text رو مینویسید پارامتری از نوع کلاس Bold ـعریف میکنید که اسمش هرچی میتونه باشه
در این قسمت در واقع یک متغیر بینابینی تعریف میکنید مثل زیر

Dim person As New cPersonal

cPersonal اسم کلاس هست.....


حالا به صورت زیر عمل میکنیم:

Public Property Personal() As cPersonal
Get
Return (person)
End Get
Set(ByVal Value As cPersonal)
person = Value
End Set
End Property

البته کد بالا به هم ریخته هست که خودتون اصلاحح کنید

با این روش در مثلا فروم اصلی وقتی از کلاس اصلی نمونه گیری میکنید میتونید از داخل کلاس به این پارامترها هم دسترسی داشته باشید....

البته باز روش دگه هم به ارث بردن کلاسه که اونم مبحثش طولانیه...
امیدوارم کمکی کرده باشم

alireza_CBoy
چهارشنبه 18 آبان 1384, 06:33 صبح
خوب یک روش میتونه روشی باشه که دوستمون titbasoft گفته...
اما در مبحث Object Modeling به این صورت هست که شما اول کلاس های فرعی تون رو تعریف میکنید... مثلا در مورد Label.Text.Bold اول کلاسی که مربوط به Bold کردن متنه مینویسید ....
حالا در کلاسی که دارید Text رو مینویسید پارامتری از نوع کلاس Bold ـعریف میکنید که اسمش هرچی میتونه باشه
در این قسمت در واقع یک متغیر بینابینی تعریف میکنید مثل زیر

Dim person As New cPersonal

cPersonal اسم کلاس هست.....


حالا به صورت زیر عمل میکنیم:

Public Property Personal() As cPersonal
Get
Return (person)
End Get
Set(ByVal Value As cPersonal)
person = Value
End Set
End Property

البته کد بالا به هم ریخته هست که خودتون اصلاحح کنید

با این روش در مثلا فروم اصلی وقتی از کلاس اصلی نمونه گیری میکنید میتونید از داخل کلاس به این پارامترها هم دسترسی داشته باشید....

البته باز روش دگه هم به ارث بردن کلاسه که اونم مبحثش طولانیه...
امیدوارم کمکی کرده باشم

سلام

اون روشو خودم میدونستم اما چطوری باید مقادیر کلاس فرعی رو کنترل کنیم. مثلا ما میخواهیم مقدار کلاس فرعی First_Name با کلاس Last_Name مقدارشونو & کنیم و در کلاس فرعی Name بریزیم.

white fox
پنج شنبه 19 آبان 1384, 02:11 صبح
سلام

اون روشو خودم میدونستم اما چطوری باید مقادیر کلاس فرعی رو کنترل کنیم. مثلا ما میخواهیم مقدار کلاس فرعی First_Name با کلاس Last_Name مقدارشونو & کنیم و در کلاس فرعی Name بریزیم.

در پناه حق موفق باشید و پرتوان


شرمنده من دقیق متوجه منظورتون نشدم....میشه بیشتر توضیح بدی؟

مجتبی کریمی
جمعه 20 آبان 1384, 22:45 عصر
اگر آقای علیرضا منظورشونو واضح می گفتن و ...
فکر کنم بهتر می شد