gpt4 book ai didi

c# - 如何将两个泛型类型传递给扩展方法

转载 作者:太空狗 更新时间:2023-10-29 21:44:37 26 4
gpt4 key购买 nike

<分区>

我创建了以下扩展方法:

public static T Map<TEntity,T>(this TEntity entity) where TEntity : IEntity
{
return Mapper.Map<TEntity, T>(entity);
}

这允许:

Db.ExchangeSets.FirstOrDefault().Map<ExchangeSet, ExchangeSetSimpleViewModel>()

但是我想知道我是否可以修改扩展方法,这样我就可以调用一个简短的版本,如下所示:

Db.ExchangeSets.FirstOrDefault().Map<ExchangeSetSimpleViewModel>()

请注意:

是否应该像这样使用 automapper 不在问题的范围内,它更像是一个事实调查任务。


更新

对于那些在家玩的人,在 Scott 的评论的帮助下,我设法在 Generic extension method for automapper 找到了上述功能的附加解决方案。 .

public static T Map<T>(this IEntity entity) 
{
return (T)Mapper.Map(entity, entity.GetType(), typeof(T));
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com