C# 如何将字段名及其值同时注入到方法中?

C# 如何将字段名及其值同时注入到方法中?,c#,.net,C#,.net,我希望这不是重复的,或者有一个更简单的解决方案。切中要害: 在我的项目中,我创建了一个处理程序,我希望以一种将DB数据注入特定处理程序的方式对其进行一般性验证,比如: public AddSomethingHandler( IRepository<Something> repository, IMappingService mappingService, IRandomizeObjectService randomize

我希望这不是重复的,或者有一个更简单的解决方案。切中要害:
在我的项目中,我创建了一个处理程序,我希望以一种将DB数据注入特定处理程序的方式对其进行一般性验证,比如:

        public AddSomethingHandler(
        IRepository<Something> repository,
        IMappingService mappingService,
        IRandomizeObjectService randomizeObjectService,
        IHandlerValidation<Something> handlerValidation
        )
        : base(
              repository,
              mappingService,
              randomizeObjectService,
              handlerValidation)
    {
    }
这里有一个技巧,我想在ValidateExistance方法中插入字段SomethingCode的名称及其值。
我为什么要这么做?
因为我想在我的处理程序之外提取验证逻辑,并以一种通用的方式执行任何必需的操作,以满足其他处理程序的需要


帮助?

您可以尝试以下方法:

public SomethingDto Handle(AddSomethingAction action)
{
    _handlerValidation.ValidateExistance(action.SomethingCode, nameof(AddSomethingAction.SomethingCode));
}

请注意,
nameof
关键字只能从C#6.0中获得。

听起来不错:)与我在后院创建的参数相比,它确实使参数更干净,但是它仍然不是那么友好。我只是想知道有没有更紧凑一点的。无论如何,我真的很感谢你的帮助,尤里!:)我不确定您是否可以做得更紧凑,尽管您可以检查,但它可能会对您有所帮助。如果我理解正确,在您的示例中,您希望将
SomethingCode
变量的值以及值为“SomethingCode”的字符串传递到ValidateExistence中?你希望从中得到什么?
public SomethingDto Handle(AddSomethingAction action)
{
    _handlerValidation.ValidateExistance(action.SomethingCode, nameof(AddSomethingAction.SomethingCode));
}