Func
으로 작성한 IDE가 Func 본문에 Func
을 호출하는 것을 좋아하지 않으며, 왜 그 이유를 이해하지 못합니까? 왜냐하면 나는이 정확한 코드를 메소드 본체에 넣었고, 리턴 타입과 인자가 같은 매개 변수를 사용했기 때문이다. Func<XElement,TreeNode[]>
의 생성자 이 가설 arrayDel
전에 함수를 호출 할 수 있기 때문에이는 초기화되지 않은 변수를 관찰 할 기능을 의미 초기화되어 허용되지 않습니다Func 본문 내에서 Func 함수 호출하기
Func<XElement, TreeNode[]> arrayDel = new Func<XElement,TreeNode[]>(a =>
{
List<TreeNode> nodes = new List<TreeNode>();
foreach (XElement item in a.Elements())
{
if (item.HasElements)
{
nodes.Add(new TreeNode(item.Name.ToString(), arrayDel(item))); }
else
{
nodes.Add(new TreeNode(item.Name.ToString())); }
}
return nodes.ToArray();
코드가 – Cynede
@Heather 인 것처럼 보입니다. 그럼'arrayDel'을 (를) 클래스 정적/인스턴스 필드로 만들었을 것입니다. 그것들은 명시적인 초기화 프로그램이 실행되기 전에도 항상 초기화됩니다. 로컬 변수로 만들면 작동하지 않습니다. – hvd
@hvd 알았어, 알았다. – Cynede