علت ارور در استراکچر

ساخت وبلاگ

سلام علت ارور در کد زیر چیه؟ :


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;
برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : ارور,استراکچر, نویسنده : محمد رضا جوادیان programers بازدید : 142 تاريخ : دوشنبه 6 شهريور 1396 ساعت: 1:05