PDA

View Full Version : ایجاد properties



mohsenaminzare
یک شنبه 12 اسفند 1386, 23:50 عصر
با سلام
لطفا در مورد ایجاد properties مرا راهنمایی کنیید. متدهای setter , geter چیست؟ collection properties چیست؟

saeed_rezaei
دوشنبه 13 اسفند 1386, 10:51 صبح
سلام فرض کن می خوای یه پروپرتی درست کنی با نام mysize که یک مقدار عددی رو بر می گردونه. به یاد داشته باشید که برای نگهداری مقادیر یک پروپرتی باید از متغیر استفاده کنید. به همین دلیل یه متغیر قبلش می سازیم با نام مثلا MS و سپس پروپرتی رو تعریف می کنیم آینجوری:


dim MS as integer

property mysize as integer

Get
return MS
End Get

Set (ByVal value As Boolean)
MS = value
End Set
end property

get : در حین استفاده از یک پروپرتی، برنامه نویس می تونه مقدار یک پروپرتی رو بخونه. با استفاده از این متد مقدار رو برگشت می دیم.
set: مواقعی که یک مقدار یک پروپرتی رو تنظیم می شه، این متد فراخوانی می شه. مقداری رو که به عنوان وروردی می دیم توسط پارامتر VALUE به پروپرتی انتقال پیدا می کنه. شما می تونید کدهای مربوط به اعتبار پارامتر ورودی رو هم چک کنید. برای مثال قبلش چک کنید که مقدار وارده از 10 بزرگتر نباشه.

Dariuosh
دوشنبه 13 اسفند 1386, 11:35 صبح
http://msdn2.microsoft.com/en-us/library/zzh9ha57(VS.80).aspx

mohsenaminzare
دوشنبه 13 اسفند 1386, 18:10 عصر
از راهنمایی دوستان تشکر می کنم.
من بیشتر در فهم properties مشکل دارم تا syntax این که کاربدش چیست ؟
اگر امکان دارد با ذکر یک مثال
باز هم ممنون

Dariuosh
سه شنبه 14 اسفند 1386, 08:50 صبح
اول یه کلاس ADD کن
بعد


PublicClass Mytextbox
Inherits TextBox
Enum Mode AsByte
Normal = 0
Number = 1
EndEnum
Private MvarMode AsByte
PublicProperty Modes() As Mode
Get
Return MvarMode
EndGet
Set(ByVal value As Mode)
MvarMode = value
EndSet
EndProperty
PrivateSub Mytextbox_KeyPress(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyPressEventArgs) HandlesMe.KeyPress
If Modes = Mode.Number Then
If IsNumeric(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
EndIf
EndIf
EndSub
EndClass

حالا بعد از Build کردن یه کنترل به نام کلاست که اینجا اسمش Mytextboxبه پروژت اضافه میشه ، این کنترل رو بنداز رو Form اونوقت میبینی که یه Property به نامه Mode به TextBox اضافه شده که میتونی ازش استفاده کنی
البته این یکی از استفاده هاش میتونه باشه دیگه بقیش برمیگرده به نیازت که کجا میخوای ازش استفاده کنی