我有我POST
用来触发发送电子邮件的方法
[HttpPost]
public HttpResponseMessage Post(IEmail model)
{
SendAnEmailPlease(model);
}
我有很多类型的电子邮件要发送,所以我抽象到一个界面,所以我只需要一个 post 方法
config.BindParameter(typeof(IEmail), new EmailModelBinder());
我有我的模型活页夹,它被击中了
public class EmailModelBinder : IModelBinder
{
public bool BindModel(
HttpActionContext actionContext,
ModelBindingContext bindingContext )
{
// Logic here
return false;
}
}
我正在为将其bindingContext.PropertyMetadata
变成我的电子邮件 POCO 之一的逻辑而苦苦挣扎
public IDictionary<string, ModelMetadata> PropertyMetadata { get; }
在 PropertyMetadata 中,我将对象类型作为字符串传递,我认为可以使用该字符串来创建具有该Activator.CreateInstance
方法的类。
eg: EmailType = MyProject.Models.Email.AccountVerificationEmail
有没有简单的方法来实现这一点?
相关问题