use*_*537 1 c# stack-overflow exception
我制作了自定义用户控件,但在设置自定义属性时遇到问题.这是我遇到问题的代码,我不知道为什么我会收到堆栈溢出异常.任何帮助将非常感激.
displayList = new List<ItemDisplay>();
foreach (var item in InventoryData2.Items)
{
ItemDisplay id = new ItemDisplay();
id.Item = item;
id.Name = item.Item.ItemNumber;
id.Location = new System.Drawing.Point(0, displayList.Count * id.Height);
displayList.Add(id);
}
public InventoryItem Item
{
get { return Item; }
set {
Item = value;
lblItemNumber.Text = Item.Item.ItemNumber;
lblTitle.Text = Item.Item.Title;
lblModel.Text = Item.Item.Model;
lblPrice.Text = Item.Item.Price.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
此属性的getter将导致无限递归:
public InventoryItem Item { get { return Item; }
Run Code Online (Sandbox Code Playgroud)
二传手也是如此:
set
{
Item = value;
Run Code Online (Sandbox Code Playgroud)
你可能想要这样的东西:
private InventoryItem item;
public InventoryItem Item
{
get
{
return this.item;
}
set
{
this.item = value;
lblItemNumber.Text = value.Item.ItemNumber;
lblTitle.Text = value.Item.Title;
lblModel.Text = value.Item.Model;
lblPrice.Text = value.Item.Price.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |