---
title: "カスタムメッセージタイプクラスの作成"
slug: "creating-a-custom-message-type-class"
abstract: "カスタムメッセージタイプを作成・使用し、それにもカスタムタイプリゾルバが必要です。"
---
# カスタムメッセージタイプクラスの作成

Email Experience Managerコンポーネントは、開発者がカスタムタイプのメッセージアイテムを作成・使用できるようにします。デフォルトのEXMメッセージタイプは、TypeResolverクラスによってコード内の適切なクラスにマッピングされます。カスタムメッセージタイプクラスを使用するには、メッセージタイプを正しくマッピングするためのカスタムタイプリゾルバも作成する必要があります。

カスタムメッセージタイプクラスを作成するには:

1.  MessageItemクラスまたはその子孫のいずれかからカスタムメッセージタイプクラスを導出します:
    
    -   TextMail級
    -   HtmlMail級
    -   WebPageMail級
    -   ABTestMessage級
2.  新しいメッセージタイプのメッセージテンプレートを定義します。
    
3.  カスタムメッセージタイプクラスのClone() メソッドを上書きしないと、ディスパッチ中に失敗します。
    
4.  Sitecore.Modules.EmailCampaign.Core.TypeResolverクラスからカスタム型リゾルバクラスを導出します。
    
5.  Sitecore。EmailExperience.Core.configファイルで、カスタムタイプリゾルバーでexm/typeResolver設定にパッチを当ててください。
    
6.  TypeResolverクラスから派生したクラスのGetCorrectMessageObjectメソッドを上書きします。
    
    例:
    
    public class NewMail : MessageItem
    {
    public static bool IsCorrectMessageItem(Item item)
     {
     return ItemUtilExt.IsTemplateDescendant(item, TemplateIds.NewMessageTemplate);
     }
    ...
    }
    public class NewTypeResolver : TypeResolver
    {
     public override MessageItem GetCorrectMessageObject(Item item)
     {
     var result = NewMail.FromItem(item);
     return result != null ? result : base.GetCorrectMessageObject(item);
     }
    ...
    }