如何解决如何根据构造函数中传递的字符串类名对对象进行类型转换 - C#
public class CaptureMetrics : ActionFilterattribute
{
private readonly string _metricType;
public CaptureMetrics(MetricTypes metricType)
{
_metricType = metricType.ToString();
}
public override async Task OnActionExecutionAsync(ActionExecutingContext context,ActionExecutionDelegate next)
{
try
{
string strjson;
var reqPayload = context.HttpContext.Request.Body;
using (var sr = new StreamReader(reqPayload))
{
strjson = await sr.ReadToEndAsync();
}
//Type t = Type.GetType(_metricType);
//below I need to typecast the object to the equivalent DTO
var obj = JsonConvert.DeserializeObject(strjson); //line #
// Todo
}
catch (Exception)
{
//Todo -> Log Exception
throw;
}
finally
{
await next();
}
}
}
public enum MetricTypes
{
ApiMetric
}
//DTO
public class ApiMetric
{
//some properties
}
从控制器的动作来看,上面的属性如下使用
[CaptureMetrics(MetricTypes.ApiMetric)]
public async Task<IActionResult> Get([FromBody]ApiPayload payload)
{
}
在第 # 行,我需要将请求负载类型转换为等效的 DTO 类。
对于 Enum (MetricType) 中的每个条目,我都有一个同名的类(例如 ApiMetric)
如何在此处对对象进行类型转换?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。