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));
}