He desarrollado algunos métodos de extensión para objetos, que no quiero usar/mostrar en intellisense para objetos que implementen IEnumerable. Conceptualmente quiero algo como el siguiente¿Cómo se especifica un parámetro de tipo que NO implementa una interfaz en particular?
public static T SomeMethod<T>(this object value) where T != IEnumerable
{
}
¿Es posible imponer este tipo de restricción de todos modos en C#?
Editar
Lo sentimos, puse la pregunta de una manera incorrecta. Conozco las restricciones permisibles en C#, lo que quiero saber es si hay alguna otra manera de lograr esto.
Tiene cuatro tipos de restricciones sobre los genéricos en C#, y este no es uno de ellos. No creo que sea posible, pero alguien con más experiencia que yo debería confirmar esto. –
Con IntelliSense, supongo que lo mejor que puede hacer es escribir un comentario de que este método no está disponible para los tipos que implementan IEnumerable. No es perfecto, pero es mejor que nada. –