![](/img/trans.png)
[英]Exception of type 'System.StackOverflowException' was thrown.'
[英]Error: Exception of type 'System.StackOverflowException' was thrown in get property
在我的模型中,我使用以下屬性
public string LastName
{
get => LastName;
set
{
value = value.TrimAndReduce();
}
}
我得到這個錯誤
System.StackOverflowException:引發了“ System.StackOverflowException類型的異常”
錯誤來自代碼的get
部分
您沒有一個字段來存儲該Property的實際變量,並且通過訪問LastName
調用自己,因此沒有StackOverflowException
。 解決方案是引入一個字段並使用該屬性訪問它。 像這樣:
private string _lastName;
public string LastName
{
get => _lastName;
set
{
_lastName= value.TrimAndReduce();
}
}
所需的模式如下所示:
private string lastname; // backing field
public string LastName
{
get => lastName;
set
{
lastname = value.TrimAndReduce();
}
}
設置LastName屬性時,您不會調用存儲實際變量,而是會調用_LastName
字段並使用它們。
解:
public int _LastName;
public int LastName
{
get
{
get => _LastName;
}
set
{
_LastName= value.TrimAndReduce();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.