Skip Navigation

Question regarding generic type and Type

Let's say I have a method that I want to make generic, and so far it had a big switch case of types.

For an simplified example,

 csharp
    
switch (field.GetType()) {
case Type.Int: Method((int)x)...
case Type.NullInt: Method((int?)x)...
case Type.Long: Method((long)x)...


  

I'd like to be able to just call my GenericMethod

<T>

(field) instead and I'm wondering if this is possible and how would I go around doing it.

 csharp
    
GenericMethod(field)

public void GenericMethod<T>(T field)

  

Can I use reflection to get a type and the pass it into the generic method somehow, is it possible to transform Type into

<T>

?

Can I have a method on the field object that will somehow give me a

<T>

type for use in my generic method?

Sorry for a confusing question, I'm not really sure how to phrase it correctly, but basically I want to get rid of switch cases and lots of manual coding when all I need is just the type (but that type can't be passed as generic from parent class)

Comments

8

Comments

8