我想返回所有没有名字的UserPrincipals。
使用此代码:
List<UserPrincipal> searchPrinciples = new List<UserPrincipal>();
searchPrinciples.Add(new UserPrincipal(ctx) { Name = null });
给我一个错误:
System.ArgumentNullException: Value cannot be null.
Parameter name: Principal.Name cannot be null or empty.
使用此搜索参数时出现相同的错误:
searchPrinciples.Add(new UserPrincipal(ctx) { Name = ""});
答案 0 :(得分:2)
根据规范,您无法将UserPrincipal.Name
设置为null
:(Principal.Name)
&#39; Principal.Name&#39;是主体的名称,如果未设置name属性,则为null。
[...]抛出&#39; ArgumentNullException&#39;如果应用程序尝试将名称设置为null。
如果您希望它为空(或为空),请不要将其设置为全部。它默认初始化为null。
如果要搜索所有具有空名称的UserPrincipal
实例,可以执行以下操作(LINQ):
IEnumerable<UserPrincipal> result = searchPrinciples.Where(p => String.IsNullOrEmpty(p.Name));