Is ToIEnumerable good practice? I have an extension method that does this:

public static IEnumerable&lt;T&gt; ToIEnumerable&lt;T&gt;(this T source) where T : new()
{
    return new[] { source };
}


I need to be able to convert any object to an IEnumerable.

For example when I use the .NET Except method:

public static IEnumerable&lt;TSource&gt; Except&lt;TSource&gt;(this IEnumerable&lt;TSource&gt; first)


I can call Except by doing the following:

return objects.Except(this.ToIEnumerable());


Is ToIEnumerable&lt;T&gt; good practice or should I solve the problem in differently?
While I don't see why ToIEnumerable is bad practice, in this specific case I think it is. You're comparing with only one object; why not just attach a where clause on to things? I.e.

return objects.Where((other) =&gt; other != this);


or possibly 

return objects.Where((other) =&gt; !Object.ReferenceEquals(other, this));


Not only will this perform better than Except here, but it's easier to understand, and avoids the entire ToIEnumerable thing entirely.