Ho sviluppato alcuni metodi di estensione per oggetti, che non voglio essere usato/mostrato in intellisense per oggetti che implementano IEnumerable. Concettualmente voglio qualcosa come il seguenteCome specificare un parametro di tipo che NON implementa una particolare interfaccia?
public static T SomeMethod<T>(this object value) where T != IEnumerable
{
}
È possibile imporre questo tipo di vincolo comunque in C#?
Modifica
Siamo spiacenti, ho messo la questione in un modo sbagliato. Conosco i vincoli consentiti in C#, quello che voglio sapere è che se c'è un altro modo per realizzare questo?
Hai quattro tipi di contravvenzioni sui generici in C#, e questo non è uno di questi. Non penso sia possibile, ma qualcuno con più esperienza di me dovrebbe confermare questo. –
Con IntelliSense, credo che il meglio che si possa fare per scrivere un commento sia che questo metodo non è disponibile per i tipi che implementano IEnumerable. Non è perfetto, ma meglio di niente. –