我試圖做投列表爲IEnumerable,所以我可以確認的是不同的列表是不爲空或爲空:泛型列表<T>爲IEnumerable <object>
假設myList中是一個List < T>。然後在調用者的代碼,我想:
Validator.VerifyNotNullOrEmpty(myList as IEnumerable<object>,
@"myList",
@"ClassName.MethodName");
的valdiating代碼將是:
public static void VerifyNotNullOrEmpty(IEnumerable<object> theIEnumerable,
string theIEnumerableName,
string theVerifyingPosition)
{
string errMsg = theVerifyingPosition + " " + theIEnumerableName;
if (theIEnumerable == null)
{
errMsg += @" is null";
Debug.Assert(false);
throw new ApplicationException(errMsg);
}
else if (theIEnumerable.Count() == 0)
{
errMsg += @" is empty";
Debug.Assert(false);
throw new ApplicationException(errMsg);
}
}
然而,這好好嘗試的工作。它編譯,但是數字是空的!爲什麼?
做任何答案都有幫助嗎? – 2010-12-23 23:31:49
@Dave - 哎呀。抱歉。很好的答案。接受Heinzi的,因爲它更關注爲什麼我的代碼不起作用,但你清楚地向我解釋了什麼應該工作。謝謝! – Avi 2011-01-04 02:00:39