Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C#
I am trying to create a class that uses two levels of inheritance as such:

public class QuickDateTokenParcer<TQuickDateRelative, TUserInputOrderAdjustment>
where TQuickDateRelative : AbstractQuickDateRelative<TUserInputOrderAdjustment>, new() 
where TUserInputOrderAdjustment : AbstractUserInputOrderAdjustment, new()

This would be OK except I really do not like specifying it like:

var dic = new QuickDateTokenParcer<QuickDateRelativePast
      <UserInputOrderAdjustmentMdy>, UserInputOrderAdjustmentMdy>(
	"QuickDateStrings.xml", DateTime.Now);

I can obviously get around this, but would like be able to do the following:

var dic = new QuickDateTokenParcer<QuickDateRelativePast
      <UserInputOrderAdjustmentMdy>>(
	"QuickDateStrings.xml", DateTime.Now);

or the following

var dic = new QuickDateTokenParcer<QuickDateRelativePast,
      UserInputOrderAdjustmentMdy>(
	"QuickDateStrings.xml", DateTime.Now);
Posted 3-Oct-12 11:40am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

There's always:
using QuickDateRelativePastMdy = QuickDateRelativePast<UserInputOrderAdjustmentMdy>;
//...
var dic = new QuickDateTokenParcer<QuickDateRelativePastMdy,
                                   UserInputOrderAdjustmentMdy>
                   ("QuickDateStrings.xml", DateTime.Now);
  Permalink  
Comments
Clifford Nelson at 3-Oct-12 20:10pm
   
Definately an idea, but not what I was hoping for.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Maciej Los 199
1 Sergey Alexandrovich Kryukov 154
2 Sascha Lefévre 120
3 Abhinav S 104
4 Rana Waqas 78
0 Sergey Alexandrovich Kryukov 6,628
1 OriginalGriff 6,298
2 Peter Leow 2,534
3 Maciej Los 2,437
4 Abhinav S 2,378


Advertise | Privacy | Mobile
Web03 | 2.8.150414.1 | Last Updated 3 Oct 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100