Partager via


Generator.OnGenerateNextValues, méthode

Mise à jour : novembre 2007

Génère la valeur suivante en fonction de l'algorithme de génération de données.

Espace de noms :  Microsoft.VisualStudio.TeamSystem.Data.DataGenerator
Assembly :  Microsoft.VisualStudio.TeamSystem.Data (dans Microsoft.VisualStudio.TeamSystem.Data.dll)

Syntaxe

Protected Overridable Sub OnGenerateNextValues

Me.OnGenerateNextValues()
protected virtual void OnGenerateNextValues()
protected:
virtual void OnGenerateNextValues()
protected function OnGenerateNextValues()

Notes

La méthode OnGenerateNextValues crée les données lors de l'exécution d'un plan de génération de données. Vous devez substituer cette méthode pour fournir la logique qui génère les données pour les propriétés de sortie de votre générateur de données.

La méthode GenerateNextValues appelle cette méthode. Vous devez substituer OnGenerateNextValues si vous voulez substituer les fonctionnalités de GenerateNextValues.

Exemples

Cet exemple substitue la méthode OnGenerateNextValues pour générer les données aléatoires pour un générateur de données. Cet exemple de code fait partie d'un exemple plus développé fourni pour la classe Generator.

DateTime mRandomDate;
Random mRandom;
Random mRandomRange;

protected override void OnGenerateNextValues()
{
    DateTime min;
    DateTime max;

    //Generate a random date from either range 1 or range 2.
    //Randomly select either range 1 or range 2 by randomly 
    //generating an odd or an even random number.
    //------------------------------------------------------------
    if (mRandomRange.Next() % 2 == 0)  //check for odd or even
    {
        min = mRange1Min;
        max = mRange1Max;
    }
    else
    {
        min = mRange2Min;
        max = mRange2Max;
    }

    //The formula for creating a random number in a specific range is:
    //start of range + (size of range * random number between 0 and 1)

    //size of range
    TimeSpan range = max - min;

    //(size of range * random number between 0 and 1)
    TimeSpan randomNumber = new TimeSpan((long)(range.Ticks * mRandom.NextDouble()));

    //start of range + (size of range * random number between 0 and 1)
    mRandomDate = min + randomNumber;
}
Dim mRandomDate As Date
Dim mRandom As Random
Dim mRandomRange As Random 

Protected Overrides Sub OnGenerateNextValues()

    Dim min As Date
    Dim max As Date

    'Generate a random date from either range 1 or range 2.
    'Randomly select either range 1 or range 2 by randomly 
    'generating an odd or an even random number.
    '------------------------------------------------------------
    If mRandomRange.Next() Mod 2 = 0 Then  'check for odd or even
        min = mRange1Min
        max = mRange1Max
    Else
        min = mRange2Min
        max = mRange2Max
    End If

    'The formula for creating a random number in a specific range is:
    'start of range + (size of range * random number between 0 and 1)

    'size of range
    Dim range As TimeSpan = max - min

    '(size of range * random number between 0 and 1)
    Dim randomNumber As TimeSpan = New TimeSpan(CLng(range.Ticks * mRandom.NextDouble()))

    'start of range + (size of range * random number between 0 and 1)
    mRandomDate = min + randomNumber

End Sub

Autorisations

Voir aussi

Référence

Generator, classe

Membres Generator

Microsoft.VisualStudio.TeamSystem.Data.DataGenerator, espace de noms

GeneratorAttribute

GeneratorInit

IGenerator

Autres ressources

Création de générateurs de données personnalisés

Vue d'ensemble de l'extensibilité des générateurs de données

Spécification des détails de génération de données pour une colonne

Procédure pas à pas : création d'un générateur de données personnalisé pour une contrainte de validation