دوستان کسی معادل این کد با Vb.net میدونه چجوریه هر چقدر تست کردم نشد :
کد:
public class MainForm
{
private int ID=-1;
public MainForm()
{
InitilizeComponent()
}
public MainForm(int id):this()
{
this.ID=id;
}
}
[/align]
در Ctor دوم ابتدا Ctor اول Call میشه و سپس Ctor دوم اجرا میشود .
کد php:
Public Class MainForm
Private ID As Integer = -1
Public Sub New()
InitilizeComponent()
End Sub
Public Sub New(byval id as integer)
me.id=id
End Sub
End Class
سلام آقاي اسماعيلي من فكر كنم اينجوري بشه.
تو کدی که من گزاشتم خودش میره اول کانستراکتور اول (بدون پارامتر اجرا میکنه ) بعد میاد کانستراکتور دوم اجرا میکنه یعنی InitlizeComponent() هم صدا میشه .
کلا یه جوری میخوام از داخل یک کانستراکتور یک کانستراکتور دیگرو call کنم .
توی سازنده دوم که خبری از صدا زدن سازنده اول نیست؟ میشه یه خورده بهتر توضیح بدید؟
کد:
public MainForm(int id):this()
توی این قسمت من به نوعی از Ctor اول ارثبری کردم در نتیجه اون هم فراخونی میشه .
والا من نفهمیدم قضیه چطوریه. ولی اگه شما میخواید صرفا توی تابع دوم تابع اول صدا زده بشه اینو بنویسید :
کد php:
Public Class MainForm
Private ID As Integer = -1
Public Sub New()
InitilizeComponent()
End Sub
Public Sub New(byval id as integer)
Me.New()
me.id=id
End Sub
End Class
اگه کارتونو راه ننداخت کلا بگید چیکار میخواید بکنید شاید راه بهتری هم باشه.
حل شد . دنبال همون کد بالا میگشتم . من فکر میکردم باید Inherits کنم .
یعنی اینجوری مینوشتم
کد:
[align=left]Sub New(ByVal id As Integer)
Inherits me()
End Sub[/align]