Click here to Skip to main content
11,933,854 members (56,376 online)
Rate this:
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
	"QuickDateStrings.xml", DateTime.Now);

or the following

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

1 solution

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

Solution 1

There's always:
using QuickDateRelativePastMdy = QuickDateRelativePast<UserInputOrderAdjustmentMdy>;
var dic = new QuickDateTokenParcer<QuickDateRelativePastMdy,
                   ("QuickDateStrings.xml", DateTime.Now);
Clifford Nelson 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
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.151126.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