---
title: "カスタムアクティビティに複雑なパラメータを追加する"
slug: "add-a-complex-parameter-to-a-custom-activity"
abstract: "Data Exchange Frameworkのカスタムアクティビティに、オブジェクトまたはオブジェクトの集合を含む複雑なパラメータを追加する方法。"
---
# カスタムアクティビティに複雑なパラメータを追加する

単一のテキストや数字フィールドではなく、オブジェクトやオブジェクトの集合を返すアクティビティエディタがあるかもしれません。この場合、複雑なエディタデータに対応するカスタムC#型を作成する必要があります。

例えば、複雑なパラメータを持つアクティビティエディタは、次のような見た目かもしれません:

![Custom activity editor with complex activity](<https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-platform/images/custom%20activity%20editor.jpg>)

このエディタでは複数のオプションを選択できます。例では、オプション1とオプション2の両方が選択されており、エディタのserializeメソッドは次のようなJSONオブジェクトを返します:

serialize(): any {
 // ... some logic to get selected options
 return {
 Collection: {
 Name: 'Option 1',
 Id: '1'
 }, {
 Name: 'Option 2',
 Id: '2'
 };
 };
}

型を扱うアクションを実装するには:

1.  カスタムC#型で、次のようなアクティビティ実装クラスを作成します。
    
    namespace CustomActivity
    {
     public class MyCustomActivity : IActivity
     {
     public List <TestClass> Collection { get; set; }
     }
    }
    
2.  このような複雑な型実装を作成します:
    
    namespace CustomActivity
    {
     public class TestClass
     {
     public string Name { get; set; }
     public int Id { get; set; }
     }
    }
    
3.  プラグインを生成してSitecoreにデプロイしてください。
    
4.  コンテンツツリーでカスタムアクティビティアイテムに移動してください。 Parametersを右クリックして新しいパラメータ項目を追加し、「 **挿入** メニュー」で「 **アクティビティパラメータ**」をクリックします。
    
5.  エディター**セクションの****「コンテンツ**」タブで、以下の値を入力してください:
    
    フィールド
    
    価値
    
    編集者ID
    
    B5DD8B01-C09A-4FDA-8900-758C84171743
    
    エディターパラメータキー(最初のフィールド)
    
    ObjectType
    
    エディターパラメータの値(第2フィールド)
    
    アクティビティクラスで定義した型を入力してください。例えば、 System.Collections.Generic.List1\[\[CustomActivity.TestClass, CustomActivity\]\]'
    
    ![custom activity editor](<https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-platform/images/custom%20activity%20editor.png>)
    
6.  変更を保存してください。