SajjadKhati
یک شنبه 05 شهریور 1396, 21:24 عصر
سلام علت ارور در کد زیر چیه؟ :
public struct TestStruct
{
public int X { get; set; }
public int Y { get; set; }
public Button Btn { get; set; }
public TestStruct(string a)
{
this.X = 10;
this.Y = 20;
this.Btn = new Button();
}
}
و فراخونی در کلاس فرم و رویداد مورد نظر:
public Page2Class.TestStruct loc = new Page2Class.TestStruct();
public Page2Class.TestStruct Location
{
get
{
return this.loc;
}
set
{
this.loc = value;
}
}
public Page2Class.TestStruct loc_2;
private void btnStruct1_Click(object sender, EventArgs e)
{
this.loc.X = 4;
this.Location.X = 2;
MessageBox.Show(this.loc.X.ToString());
}
ولی چرا فراخونی زیر مشکل نداره؟ :
public Page2Class.TestStruct loc = new Page2Class.TestStruct();
public Page2Class.TestStruct Location
{
get
{
return this.loc;
}
set
{
this.loc = value;
}
}
public Page2Class.TestStruct loc_2;
private void btnStruct1_Click(object sender, EventArgs e)
{
this.loc_2 = this.loc;
this.loc_2.X = 7;
MessageBox.Show(this.loc.X.ToString());
}
یا به عبارتی ، علت ارور کد زیر در یک رویداد ، چیه (این پروپرتی Location ، همون پروپتی خود Form هست که نوع point رو برمیگردونه) ؟
this.Location.X = 5;
public struct TestStruct
{
public int X { get; set; }
public int Y { get; set; }
public Button Btn { get; set; }
public TestStruct(string a)
{
this.X = 10;
this.Y = 20;
this.Btn = new Button();
}
}
و فراخونی در کلاس فرم و رویداد مورد نظر:
public Page2Class.TestStruct loc = new Page2Class.TestStruct();
public Page2Class.TestStruct Location
{
get
{
return this.loc;
}
set
{
this.loc = value;
}
}
public Page2Class.TestStruct loc_2;
private void btnStruct1_Click(object sender, EventArgs e)
{
this.loc.X = 4;
this.Location.X = 2;
MessageBox.Show(this.loc.X.ToString());
}
ولی چرا فراخونی زیر مشکل نداره؟ :
public Page2Class.TestStruct loc = new Page2Class.TestStruct();
public Page2Class.TestStruct Location
{
get
{
return this.loc;
}
set
{
this.loc = value;
}
}
public Page2Class.TestStruct loc_2;
private void btnStruct1_Click(object sender, EventArgs e)
{
this.loc_2 = this.loc;
this.loc_2.X = 7;
MessageBox.Show(this.loc.X.ToString());
}
یا به عبارتی ، علت ارور کد زیر در یک رویداد ، چیه (این پروپرتی Location ، همون پروپتی خود Form هست که نوع point رو برمیگردونه) ؟
this.Location.X = 5;