How define a generic type from an object type?

Siamak Ferdos

I have an extension method :

public static List<object> ToModelViewObjectList<ModelViewType>(this IEnumerable<object> source)
{

    List<ModelViewType> destinationList = new List<ModelViewType>();

    PropertyInfo[] ModelViewProperties = typeof(ModelViewType).GetProperties();
    foreach (var sourceElement in source)
    {
        object destElement = Activator.CreateInstance<ModelViewType>();
        foreach (PropertyInfo sourceProperty in sourceElement.GetType().GetProperties())
        {

            if (ModelViewProperties.Select(m => m.Name).Contains(sourceProperty.Name))
            {
                destElement.GetType().GetProperty(sourceProperty.Name).SetValue(destElement, sourceProperty.GetValue(sourceElement));
            }
        }
        destinationList.Add((ModelViewType)destElement);
    }

    return destinationList.Cast<object>().ToList();
}

And I have a method with a list of object that I want call extension methods in this method :

public void GridModel(IEnumerable<object> GridDataSource)        
{ 
   List<object> list = GridDataSource.ToModelViewObjectList<GridDataSource[0].GetType()>();
}

What should I write instead of GridDataSource[0].GetType() ?

Edited:

I have a method with a object parameter. I want to create a generic list of object type.

public void CreateListByNonGenericType(object myObject)
{
    Type objType = myObject.GetType();

    var lst = System.Collections.Generic.List < objType.MakeGenericType() > ();
}

What should I write instead of objType.MakeGenericType() ?

hazzik
public void CreateListByNonGenericType(object myObject)
{
    Type objType = myObject.GetType();
    Type listType = typeof(List<>).MakeGenericType(objType);

    //We can not use here generic version of the interface, as we
    // do not know the type at compile time, so we use the non generic 
    // interface IList which will enable us to Add and Remove elements from
    // the collection
    IList lst = (IList)Activator.CreateInstance(listType);
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to define generic type in Scala?

From Dev

How to define a generic type that is not a class?

From Dev

How to define generic type in Scala?

From Dev

How to get (generic) type from class object

From Dev

How to get (generic) type from class object

From Dev

Define object from template type

From Dev

Define object from template type

From Dev

How can I define in JAVA generic type that extends Map object with 2 generic parameters?

From Dev

How to define a object type in a function?

From Dev

How to define a type alias with generic in swift

From Dev

How to define of initializing generic type in Swift

From Dev

Define generic function type

From Dev

How to define type of an object to accept only keys from enum?

From Dev

How to deserialize JSON object from generic type in Java?

From Dev

How to run method that returns an object of "Type" from generic class

From Dev

How to define generic function without argument of generic type?

From Dev

How to build a generic Type from Type?

From Dev

How to convert a class object to generic object type?

From Dev

Cast unknown object to generic interface of interface (from initially explicit generic type of generic collection type of type)

From Dev

Cast unknown object to generic interface of interface (from initially explicit generic type of generic collection type of type)

From Dev

generic casting from object-boxed type

From Dev

Getting primitive type from object using generic

From Dev

how to have a reference to child generic type from a parent generic type?

From Dev

Define generic type for use in closure

From Dev

How to define Object of Objects type in typescript

From Dev

Typescript: define type of an object

From Dev

F# generic type instanciation from object and not type

From Dev

How to create object/singleton of generic type in Scala?

From Dev

How to get Class<?> object of a generic type

Related Related

  1. 1

    How to define generic type in Scala?

  2. 2

    How to define a generic type that is not a class?

  3. 3

    How to define generic type in Scala?

  4. 4

    How to get (generic) type from class object

  5. 5

    How to get (generic) type from class object

  6. 6

    Define object from template type

  7. 7

    Define object from template type

  8. 8

    How can I define in JAVA generic type that extends Map object with 2 generic parameters?

  9. 9

    How to define a object type in a function?

  10. 10

    How to define a type alias with generic in swift

  11. 11

    How to define of initializing generic type in Swift

  12. 12

    Define generic function type

  13. 13

    How to define type of an object to accept only keys from enum?

  14. 14

    How to deserialize JSON object from generic type in Java?

  15. 15

    How to run method that returns an object of "Type" from generic class

  16. 16

    How to define generic function without argument of generic type?

  17. 17

    How to build a generic Type from Type?

  18. 18

    How to convert a class object to generic object type?

  19. 19

    Cast unknown object to generic interface of interface (from initially explicit generic type of generic collection type of type)

  20. 20

    Cast unknown object to generic interface of interface (from initially explicit generic type of generic collection type of type)

  21. 21

    generic casting from object-boxed type

  22. 22

    Getting primitive type from object using generic

  23. 23

    how to have a reference to child generic type from a parent generic type?

  24. 24

    Define generic type for use in closure

  25. 25

    How to define Object of Objects type in typescript

  26. 26

    Typescript: define type of an object

  27. 27

    F# generic type instanciation from object and not type

  28. 28

    How to create object/singleton of generic type in Scala?

  29. 29

    How to get Class<?> object of a generic type

HotTag

Archive