Default for generic type?

.net-4.0, c#, generics

Solution

No. There is no option for default types on generic types in C#.

Your second example is often the "best" option available, if you need this behavior.

Problem

Is it possible to do something like ``` public class PriorityQueue<TValue, TPriority=int> where TPriority : IComparable ``` (note the `=int`) ? Before you suggest it, yes, I know I can just add another line: ``` public class PriorityQueue<TValue> : PriorityQueue<TValue, int> { } ``` But I'm wondering if it's possible to do it as a param.

Original source

Related problems