C# 将AutoMapper从v3升级到v6时IMemberConfiguration表达式失败

C# 将AutoMapper从v3升级到v6时IMemberConfiguration表达式失败,c#,.net,automapper,C#,.net,Automapper,我正在尝试将代码从aotumapperv3更新到v6,但有一个助手方法使用IMemberConfigurationExpression时遇到了问题 private void TreatEmptyStringsAsNull<TSource>(IMemberConfigurationExpression<TSource> expression) { expression.Condition(ctx => ctx.SourceType !

我正在尝试将代码从aotumapperv3更新到v6,但有一个助手方法使用IMemberConfigurationExpression时遇到了问题

    private void TreatEmptyStringsAsNull<TSource>(IMemberConfigurationExpression<TSource> expression)
    {

        expression.Condition(ctx => ctx.SourceType != typeof(string) || (string)ctx.SourceValue != string.Empty); 
    }
private void TreatEmptyStringsAsNull(IMemberConfiguration表达式)
{
expression.Condition(ctx=>ctx.SourceType!=typeof(string)| |(string)ctx.SourceValue!=string.Empty);
}
此方法由以下函数调用: config.CreateMap().ForAllMembers(treatEmptyStringsNull)

我收到的错误消息是“使用泛型类型IMemberConfigurationExpression需要三个参数

我尝试的修复:

 private void TreatEmptyStringsAsNull<TSource, TDestination, TMember>(IMemberConfigurationExpression<TSource, TDestination, TMember> expression)
    {

        expression.Condition(ctx => ctx.SourceType != typeof(string) || (string)ctx.SourceValue != string.Empty); 
    }
private void TreatEmptyStringsAsNull(IMemberConfiguration表达式)
{
expression.Condition(ctx=>ctx.SourceType!=typeof(string)| |(string)ctx.SourceValue!=string.Empty);
}
但随后出现了一个新错误“TSource不包含“SourceType”的定义,并且找不到接受“TSource”类型的第一个参数的扩展方法“SourceType”

我应该如何更新此帮助器方法以使其工作

#更新: 我做了以下更改,不再导致任何错误:

    private static void TreatEmptyStringsAsNull<TSource, TDestination, TMember>(IMemberConfigurationExpression<TSource,TDestination, TMember> expression)
    {
        expression.Condition(ctx => ctx.GetType() != typeof(string) || ctx.ToString() != string.Empty); 
    }
private static void TreatEmptyStringsAsNull(IMemberConfiguration表达式)
{
expression.Condition(ctx=>ctx.GetType()!=typeof(string)| | ctx.ToString()!=string.Empty);
}
私有静态无效处理EmptyStringsNull(IMemberConfiguration表达式)
{
expression.Condition(ctx=>ctx.GetType()!=typeof(string)| | ctx.ToString()!=string.Empty);
}
这起作用了

private static void TreatEmptyStringsAsNull<TSource, TDestination, TMember>(IMemberConfigurationExpression<TSource,TDestination, TMember> expression)
{
    expression.Condition(ctx => ctx.GetType() != typeof(string) || ctx.ToString() != string.Empty); 
}