public enum StatusValues
{
Open,
Closed,
Pending,
Cancelled,
Expired,
Suspended
}
...
if(myObject.Status == StatusValues.Closed ||
myObject.Status == StatusValues.Pending ||
myObject.Status == StatusValues.Expired)
{
...
}This can become cumbersome when testing for a number of values.
The IsIn Extension Method simplifies this by taking a param list of values.
public static bool IsIn<T>(this T thisObject, params T[] values)
{
if (thisObject != null && values != null && values.Length > 0)
{
foreach (var value in values)
{
if (thisObject.Equals(value))
{
return true;
}
}
}
return false;
}
Using this method, the above code can be rewritten as follows://using the IsIn Extension Method
if(myObject.Status.IsIn(StatusValues.Closed,
StatusValues.Pending,
StatusValues.Expired))
{
...
}
No comments:
Post a Comment