TypeConverter and Generics

Discussion in 'ASP .Net Building Controls' started by Kent Boogaart, Jan 16, 2006.

  1. Hi,

    As far as I can tell, it is not possible to use the TypeConverter
    infrastructure with generic types. Say you have this type:

    public struct Id<T> where T : IComparable
    { ... }

    And you want to convert from strings to Id<T> and vice-versa. So you write a
    generic TypeConverter:

    public IdConverter<T> : TypeConverter
    { ... }

    But then you'll find you can't apply the generic type converter:

    [TypeConverter(typeof(IdConverter<T>))] //this will not compile
    public struct Id<T> where T : IComparable
    { ... }

    You can attempt to hack together a solution based on the
    ITypeDescriptorContext parameter to the various TypeConverter methods.
    However, this is unreliable since this parameter isn't always passed in (and
    certainly wasn't by VS.NET when I tried it). As far as I can tell, the
    possible workarounds are:
    1. Implement a generic type converter and apply it manually to each Id<T>
    property instead of applying it only once to the Id<T> struct.
    2. Forgo generics and use subclasses, each with their own TypeConverter
    applied.
    3. Don't use type converters.

    Can anyone tell me whether I'm missing something?

    Thanks,
    Kent
     
    Kent Boogaart, Jan 16, 2006
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kent Boogaart

    TypeConverter and Generics

    Kent Boogaart, Jan 19, 2006, in forum: ASP .Net
    Replies:
    4
    Views:
    4,634
  2. Juergen Berchtel
    Replies:
    1
    Views:
    5,999
    John C. Bollinger
    May 20, 2005
  3. Soul
    Replies:
    0
    Views:
    524
  4. Imar Spaanjaars

    TypeConverter for a generics list

    Imar Spaanjaars, Jan 30, 2008, in forum: ASP .Net Building Controls
    Replies:
    0
    Views:
    751
    Imar Spaanjaars
    Jan 30, 2008
  5. Imar Spaanjaars

    TypeConverter for a StringCollection or a Generics list

    Imar Spaanjaars, Apr 8, 2008, in forum: ASP .Net Building Controls
    Replies:
    0
    Views:
    930
    Imar Spaanjaars
    Apr 8, 2008
Loading...

Share This Page