Generic List<T> as IEnumerable<object>
Posted
by Avi
on Stack Overflow
See other posts from Stack Overflow
or by Avi
Published on 2010-05-20T12:07:39Z
Indexed on
2010/05/20
12:10 UTC
Read the original article
Hit count: 439
I'm trying to do cast a List to an IEnumerable, so I can verify that different lists are not null or empty:
Suppose myList is a List < T > . Then in the caller code I wanted:
Validator.VerifyNotNullOrEmpty(myList as IEnumerable<object>,
@"myList",
@"ClassName.MethodName");
The valdiating code would be:
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);
}
}
However, this doens't work. It compiles, but theIEnumerable is null! Why?
© Stack Overflow or respective owner