ho qualcosa di simile:C# interfaccia specfying un generico tipo di ritorno
public interface IExample
{
int GetInteger()
T GetAnything(); //How do I define a function with a generic return type???
^^^^^
}
Questo è possibile ???
ho qualcosa di simile:C# interfaccia specfying un generico tipo di ritorno
public interface IExample
{
int GetInteger()
T GetAnything(); //How do I define a function with a generic return type???
^^^^^
}
Questo è possibile ???
Se l'intera interfaccia dovrebbe essere generico:
public interface IExample<T>
{
int GetInteger();
T GetAnything();
}
Se solo il metodo deve essere generico:
public interface IExample
{
int GetInteger();
T GetAnything<T>();
}
public interface IExample<T>
{
int GetInteger()
T GetAnything();
}
Tadaa :)!
Oppure, in alternativa, è sufficiente restituire System.Object e trasmetterlo a quello desiderato.
Se non volete l'intera interfaccia (IExample) per essere generico, poi puoi farlo anche
public interface IExample
{
int GetInteger();
T GetAnything<T>();
}
solo per chiarire, se dichiari il metodo in questo modo in un'interfaccia, quando la implementi nella classe che implementa l'interfaccia, dovrai mantenerla come metodo generico e sarai solo in grado di specificarne il tipo quando chiama il metodo sull'oggetto istanziato dalla classe che implementa l'interfaccia, non nella classe stessa – daleotar
+1. Ho completamente dimenticato che il metodo può avere il proprio parametro di tipo :) – flai
Se si utilizza .NET 4.0, meglio usare la covarianza se possibile: interfaccia pubblica I Esempio, T GetAnthing (); –
dvvrd
come si implementa la funzione di interfaccia, quindi? – River