.net 3.5에서 작업하고 있습니다. 나는 스택과 getter 속성을 가진 클래스 "A"를 가지고 있는데,이 속성은 호출 될 때 스택의 첫 번째 항목을 제거하고 다음 항목을 가져온다.Getter 속성은 아무도 호출하지 않고 실행됩니다.
클래스를 초기화 한 후에 getter가 호출되지 않고 작동하고 스택의 최상위 항목을 제거하여 나쁜 결과를 얻는 것을 보았습니다. getter의 중단 점은 아무도 통과하지 못함을 나타냅니다.
속성을 속성으로 변경하면 스택이 반환됩니다.
왜 누군가가 설명 할 수 있다면 행복 할 것입니다. 여기
는 단순화 된 클래스입니다 :public class A
{
private Stack<string> Urls;
public A(string title, string[] array)
{
Urls = new Stack<string>();
foreach (string s in array)
{
Urls.Push(s);
}
}
public string Url
{
get { return Urls.Peek(); }
}
public string NextUrl
{
get{
if (Urls.Count > 1)
{ Urls.Pop(); }
return Urls.Peek();
};
}
}
감사합니다. 나는 영광이다. :) – Nir