Partager via


Generator.OnGenerateNextValues, méthode

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

Espace de noms :  Microsoft.Data.Schema.Tools.DataGenerator
Assembly :  Microsoft.Data.Schema.Tools (dans Microsoft.Data.Schema.Tools.dll)

Syntaxe

'Déclaration
Protected Overridable Sub OnGenerateNextValues
protected virtual void OnGenerateNextValues()
protected:
virtual void OnGenerateNextValues()
abstract OnGenerateNextValues : unit -> unit 
override OnGenerateNextValues : unit -> unit 
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. Pour modifier les fonctionnalités de GenerateNextValues, vous devez substituer OnGenerateNextValues.

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 complet 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. 
    ' Check for odd or even
    If mRandomRange.Next() Mod 2 = 0 Then  
        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

Sécurité .NET Framework

Voir aussi

Référence

Generator Classe

Microsoft.Data.Schema.Tools.DataGenerator, espace de noms

GenerateNextValues