次の方法で共有


方法 : カスタム データ ジェネレータを作成する

カスタム データ ジェネレータは、データ生成計画でデータを生成するためにデータ ジェネレータ機能によって使用されるコンポーネントです。 データ ジェネレータ機能には、設定済みのジェネレータが複数用意されていますが、特定のニーズに合うカスタム ジェネレータを作成することが必要になる場合があります。

このトピックでは、典型的な機能拡張を使用してカスタム データ ジェネレータを作成する方法について説明します。 ほとんどの場合は、典型的な機能拡張を使用する方法をお勧めします。 宣言機能拡張、集約機能拡張、基本機能拡張などの他の方法を使用して、カスタム データ ジェネレータを作成することもできます。 詳細については、「データ ジェネレータ機能拡張の概要」を参照してください。

カスタム データ ジェネレータを作成するには

  1. クラス ライブラリ プロジェクトを作成します。

  2. ソリューション エクスプローラで、プロジェクトを右クリックし、[参照の追加] をクリックします。

    [参照の追加] ダイアログ ボックスが表示されます。

  3. [.NET] タブをクリックします。[コンポーネント名] ボックスの一覧の [Microsoft.VisualStudio.TeamSystem.Data] をクリックし、[OK] をクリックします。

  4. (省略可能、Visual Basic のみ) ソリューション エクスプローラで、[すべてのファイルを表示] をクリックし、[参照設定] ノードを展開して、新しい参照を確認します。

  5. [コード] ウィンドウの一番上のクラス宣言の前に、次のコード行を追加します。

    Imports Microsoft.Data.Schema.DataGenerator
    
    using Microsoft.Data.Schema.DataGenerator;
    
  6. クラスの名前を Class1 から適切な名前に変更します。

    Aa833230.alert_caution(ja-jp,VS.90).gif注意 :

    既定では、クラス名として指定した名前は、[列の詳細] ウィンドウの [ジェネレータ] 列の一覧に表示されます。 標準のジェネレータや他のカスタム ジェネレータの名前と競合しない名前を指定してください。 詳細については、「カスタム データ ジェネレータの考慮事項」を参照してください。

    Public Class YourGeneratorName
    
    End Class
    
    public class YourGeneratorName
    {
    }
    
  7. 次の例に示すように、Generator からのクラスの継承を指定します。

    Public Class YourGeneratorName
        Inherits Generator
    
    End Class
    
    public class YourGeneratorName: Generator
    {
    }
    
  8. (省略可能) クラス宣言に GeneratorStylesAttribute を追加します。

    Aa833230.alert_caution(ja-jp,VS.90).gif重要 :

    作成したカスタム データ ジェネレータを特定の種類の列で使用する既定のジェネレータにする場合は、ジェネレータが一意の値を生成する必要があり、クラスに GeneratorStylesAttribute を追加する必要があります。 詳細については、「方法 : 列の種類に対応する既定のジェネレータを変更する」を参照してください。

    <GeneratorStyles(DesignerStyles:=GeneratorDesignerStyles.CanProduceUniqueValues)> _
    Public Class TestGenerator
        Inherits Generator
    
    End Class
    
    [GeneratorStyles(DesignerStyles = GeneratorDesignerStyles.CanProduceUniqueValues)]
    public class TestGenerator:Generator
    {
    }
    
  9. (省略可能) クラス宣言に GeneratorAttribute を追加します。

    Aa833230.alert_caution(ja-jp,VS.90).gif注意 :

    この属性は、カスタム データ ジェネレータに使用するカスタム デザイナの種類を指定する場合にのみ、クラス宣言に追加してください。 カスタム デザイナの種類を指定しない場合は、この属性を省略できます。省略した場合は、自動的に既定のデザイナが使用されます。

    <Generator(GetType(CustomDesignerType))> _
    Public Class TestGenerator
        Inherits Generator
    
    End Class
    
    [Generator(typeof(CustomDesignerType))]
    public class TestGenerator:Generator
    {
    }
    
  10. 出力プロパティを少なくとも 1 つ追加します。 詳細については、「方法 : 出力プロパティをデータ ジェネレータに追加する」を参照してください。

  11. 必要に応じて、入力プロパティを追加します。 詳細については、「方法 : 入力プロパティをデータ ジェネレータに追加する」を参照してください。

  12. 出力プロパティごとに適切な値を生成するために、OnGenerateNextValues メソッドを実装します。 詳細については、「チュートリアル: カスタム データ ジェネレータの作成」を参照してください。

  13. アセンブリに厳密な名前で署名します。 詳細については、「チュートリアル: カスタム データ ジェネレータの作成」を参照してください。

  14. ソリューションをビルドします。

  15. 新しいジェネレータを Visual Studio に登録します。 詳細については、「方法 : カスタム データ ジェネレータを登録する」および「チュートリアル: カスタム データ ジェネレータの作成」を参照してください。

参照

処理手順

チュートリアル: カスタム データ ジェネレータの作成

その他の技術情報

カスタム データ ジェネレータの作成