获取通用类型

时间:2013-12-09 18:02:34

标签: c# entity-framework generics reflection

我有一个类型TDestination与Name,FullName等。 该方法接收通用类型TSource

我像这样从一个转换为另一个:

private static Type ConvertTypes<TSource>()
    {
        var mytype = typeof(TSource);
        var newName = string.Format("{0}.{1}", Assembly.GetAssembly(typeof(Plugin)).FullName.Split(',')[0].ToString(), mytype .Name);
        var newFullName = Assembly.GetAssembly(typeof(Plugin)).GetType(newName).FullName;
        var TDestination = Type.GetType(newFullName);
        return TDestination;
    }

我需要在像Method<T>();

这样的通用方法中使用它

我尝试了一些编码,但我无法将Type转换为它的通用版本。

当我需要创建一个收到Func<TSource, bool>的方法时,这一切都开始了,这个func需要映射到Func<TDestination, bool>

我收到了一个Model类,必须将func转换为一个Entity Framework类的TDestination。

到现在为止,没有成功。

任何?

1 个答案:

答案 0 :(得分:0)

我建议您使用现有解决方案进行类型之间的映射:AutoMapperEmit Mapper。还有ValueInjecter