1

POSTメールの送信をトリガーするために使用する方法があります

[HttpPost]
public HttpResponseMessage Post(IEmail model)
{
    SendAnEmailPlease(model);
}

送信するメールの種類が多いため、インターフェイスに抽象化して、必要な投稿メソッドは 1 つだけです

 config.BindParameter(typeof(IEmail), new EmailModelBinder());

私はうまくヒットするモデルバインダーを持っています

public class EmailModelBinder : IModelBinder
{
    public bool BindModel(
        HttpActionContext actionContext, 
        ModelBindingContext bindingContext )
    {
        // Logic here           

        return false;
    }
}

bindingContext.PropertyMetadataをメール POCO の 1 つに変換するロジックに苦労しています。

public IDictionary<string, ModelMetadata> PropertyMetadata { get; }     

Activator.CreateInstancePropertyMetadata では、メソッドでクラスを作成するために使用できると思われる文字列としてオブジェクト型を渡しています。

eg: EmailType = MyProject.Models.Email.AccountVerificationEmail

これを達成する簡単な方法はありますか?


関連する質問

4

1 に答える 1