Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 递归类的Fluent验证_C#_Fluentvalidation - Fatal编程技术网

C# 递归类的Fluent验证

C# 递归类的Fluent验证,c#,fluentvalidation,C#,Fluentvalidation,我有一个递归数据结构,比如 public class Node { public string Id { get; set; } public List<List<Node>> Nodes = new List<List<Node>>(); } 但这似乎是在无限循环中运行。您正在无限循环中运行,因为您正在NodeValidator的构造函数中创建NodeValidator的新实例 您应该将此指定为验证器: RuleForEac

我有一个递归数据结构,比如

public class Node
{
     public string Id { get; set; }
     public List<List<Node>> Nodes = new List<List<Node>>();
}

但这似乎是在无限循环中运行。

您正在无限循环中运行,因为您正在
NodeValidator
的构造函数中创建
NodeValidator
的新实例

您应该将
指定为验证器:

RuleForEach(r => r.Nodes).ChildRules(c => c.RuleForEach(x => x).SetValidator(this));
RuleForEach(r => r.Nodes).ChildRules(c => c.RuleForEach(x => x).SetValidator(this));