我有用於驗證集合的自定義驗證屬性。我需要適應這與IEnumerable工作。我試着讓這個屬性成爲一個通用屬性,但是你不能擁有一個通用屬性。ValidationAttribute for IEnumerable Property
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public class CollectionHasElements : System.ComponentModel.DataAnnotations.ValidationAttribute
{
public override bool IsValid(object value)
{
if (value != null && value is IList)
{
return ((IList)value).Count > 0;
}
return false;
}
}
我無法將其轉換爲IEnumerable,因此我可以檢查它的count()或any()。
任何想法?
您是否嘗試過'ICollection'類型? – SPFiredrake
更改類型不是一個選項。這些對象正在從EF填充。 – Darthg8r
你可以對'IEnumerable'進行轉換,例如:'IEnumerable en = value as IEnumerable; if(en!= null){...}'? – Tejs