in that case, could it be that it was written like this:
public static class StringUtils
{
public static bool IsNullOrEmpty(this string s)
{
return string.IsNullOrEmpty(s);
}
}
then you can simplify the calling code a bit:
string a = "11";
string b = "";
string c = null;
Console.Out.WriteLine("a -> {0}, b -> {1}, c -> {2}", a.IsNullOrEmpty(), b.IsNullOrEmpty(), c.IsNullOrEmpty());
instead of
Console.Out.WriteLine("a -> {0}, b -> {1}, c -> {2}", string.IsNullOrEmpty(a), string.IsNullOrEmpty(b), string.IsNullOrEmpty(c));
I wouldn't argue if this is a bad practice or not, but it makes some sense at least (ignoring the issue of calling a seemingly instance method on null reference)