问题
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.
回答1:
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.
来源:https://stackoverflow.com/questions/2747874/default-for-generic-type