Vorrei implementare una generica classe C# che si presenta più o meno come segue:Posso dire che un parametro di tipo C# deve essere solo un tipo di interfaccia?
abstract class Foobar<T> : AbstractBase, T
{ ... }
Questo non riesce a causa C# solo consentirà tipi dopo la classe di base per essere interfacce, così la prossima provo questo:
abstract class Foobar<T> : AbstractBase, T where T : interface
{ ... }
Ma poi ho trovato che C# non consente questo tipo di vincolo di tipo. Sono consentiti solo where T : struct
e where T : class
.
Come si può stabilire che un parametro di tipo deve essere solo un tipo di interfaccia?
cosa stai cercando di ottenere? Non riesco davvero a pensare a una situazione in cui un tale vincolo sarebbe necessario. – jalf