2010-04-30 1 views
38

E 'possibile fare qualcosa di similePredefinito per tipo generico?

public class PriorityQueue<TValue, TPriority=int> where TPriority : IComparable 

(notare che il =int)?

Prima di lei suggerisce, sì, so che posso solo aggiungere un'altra linea:

public class PriorityQueue<TValue> : PriorityQueue<TValue, int> { } 

Ma mi chiedo se è possibile farlo come un param.

+1

questa è una bella opzione C# 5.0 –

risposta

29

No. Non esiste un'opzione per i tipi di default sui tipi generici in C#.

Il secondo esempio è spesso l'opzione "migliore" disponibile, se è necessario questo comportamento.