PDA

View Full Version : سوال: ایجاد متد Shared



Rainbow128
چهارشنبه 19 مرداد 1390, 07:38 صبح
سلام به همگی
من یه سئوال داشتم و اینکه چطور MSGBox بدون اینکه new بشه میتونه مقدار دریافت کنه مثلا


MSGBox("This is a Test")

چون من اومدم نوشتم Public Shared Sub New() و ارور داد پس این چطوری اومده و Sub New رو از نوع Shared گرفته ؟
ممنون

Behzad_MCP
چهارشنبه 19 مرداد 1390, 09:23 صبح
سلام دوست عزیز Sub New هیچ آرگومانی قبلش نمیگره فقط Sub new نوشته میشه حتی زمانی که شما واقعا OverLoad میکنی بازم کی ورد OverLoad را نمینویسی ، برای MessageBox هم خوب منظورتو متوجه نشدم :)

Rainbow128
چهارشنبه 19 مرداد 1390, 11:49 صبح
منطورم اینه عزیز که چطور کلاسی مثل MSGBox که new نشده رو میتوان به این صورت نوشت

MSGBox("Test")
یعنی اینکه بدون صدا زدن هیچ متودی و یا New کردن کلاس Msgbox میتوان اون رو به صورت بالا نوشت مثلا ما نمی گیم

MSGBox.Show("fffff")
مستقیم بعد از گفتن نام کلاس MsgBox و باز کردن پرانتز بعد از اون می تونیم پارامتر های اونو مقدار دهی کینم
چطوری این کارو کرده
ممنون

Behzad_MCP
چهارشنبه 19 مرداد 1390, 12:00 عصر
آهان خوب همون Shared دیگه عزیزم توی کلاست اگه یه متد رو Public Shared بنویسی میتونی از سراسر برنامه بدون Instance گرفتن از کلاست ولی با نام کلاست متد را صدا بزنی مثلا

Public Class ClassName
Public Shared Sub Hi (str as string)
'Some operations
End Sub
End Class

بعد

ClassName.Hi("Hello")

Rainbow128
چهارشنبه 19 مرداد 1390, 14:26 عصر
نشد دیگه ! من میخوام وقتی نام کلاسم رو نوشتم بعد از اون پرانتز رو باز کنم و پارامتر هامو وارد کنم مثل :
ClassName("Hello")
این دقیقا کاریه که در MSGBox هم رخ میده یعنی بدون اینکه یک New از Msgbox بسازم ، بعد از گفتن نام کلاس پرانتز رو باز میکنیم و پارامترها رو وارد میکنیم
حالا این چطوریه ؟
ممنون

Behzad_MCP
چهارشنبه 19 مرداد 1390, 14:46 عصر
دوست عزیز MsgBox کلاس نیست یه Function که تو نیم اسپیس MicroSoft.VisualBasic پیاده سازی شده و نیازی به Import نداره واسه همین هم هر جای برنامه که بخوای صداش میکنی حالا همچین چیزی که کلاس رو بشه اینجوری صدا کرد من چیزی نمیدونم

ricky22
چهارشنبه 19 مرداد 1390, 14:52 عصر
نشد دیگه ! من میخوام وقتی نام کلاسم رو نوشتم بعد از اون پرانتز رو باز کنم و پارامتر هامو وارد کنم مثل :
ClassName("Hello")
این دقیقا کاریه که در MSGBox هم رخ میده یعنی بدون اینکه یک New از Msgbox بسازم ، بعد از گفتن نام کلاس پرانتز رو باز میکنیم و پارامترها رو وارد میکنیم
حالا این چطوریه ؟
ممنون
سلام.
فکر می کنم Shared Indexer باشه.