ASP.NET MVC/ c# -类型转换到自定义所需验证属性中的数组
本文关键字:验证 属性 数组 自定义 MVC NET 类型转换 ASP | 更新日期: 2023-09-27 18:06:24
我试图创建一个自定义所需的验证属性,该属性将能够接受任何大小的1d数组,并验证至少一个元素不是null/空字符串。我有一些麻烦弄清楚如何把传入的通用对象变成一个数组。以下是目前为止的内容:
public class RequiredArrayAttribute : RequiredAttribute
{
public override bool IsValid(object value)
{
var valueType = value.GetType();
if (!valueType.IsArray)
{
return false;
}
bool hasValue = false;
foreach (var item in value)
{
/* if (item != null/empty)
* {
* hasValue = true;
* }
*/
}
return hasValue;
}
}
虽然我在这个实例中的特定用例将处理string[]
,但我希望保持属性尽可能通用,以便将来在其他项目中使用。对如何继续有什么想法吗?
我基本上需要这样做:
foreach (var item in (valueType[])value)
{
// ...
}
但我不确定如何/如果它是可能的动态转换到数组,
我认为你需要:循环的一般处理:检查下面的答案
c#语法- Lambda表达式示例- ForEach() over泛型列表
扮演T:
你可以创建单独的类来表示T
如:公共类Foo{公共字符串Boo{get;set;}}
和之后你把它放入List List = new List()等:)