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 Dnyaneshwar@Pune 719
1 CPallini 245
2 CHill60 235
3 TheRealSteveJudge 208
4 Umer Akram 190
0 Sergey Alexandrovich Kryukov 9,078
1 OriginalGriff 6,771
2 Peter Leow 4,262
3 Zoltán Zörgő 3,809
4 Richard MacCutchan 2,663


Advertise | Privacy | Mobile
Web03 | 2.8.150128.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