Freigeben über


Generator.OnGenerateNextValues-Methode

Aktualisiert: November 2007

Generiert den nächsten Wert entsprechend dem Datengenerierungsalgorithmus.

Namespace:  Microsoft.VisualStudio.TeamSystem.Data.DataGenerator
Assembly:  Microsoft.VisualStudio.TeamSystem.Data (in Microsoft.VisualStudio.TeamSystem.Data.dll)

Syntax

Protected Overridable Sub OnGenerateNextValues

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

Hinweise

Die OnGenerateNextValues-Methode erstellt die Daten, wenn ein Datengenerierungsplan ausgeführt wird. Sie müssen diese Methode überschreiben, um die Logik bereitzustellen, die die Daten für die Ausgabeeigenschaften des Datengenerators generiert.

Diese Methode wird von der GenerateNextValues-Methode aufgerufen. Sie sollten OnGenerateNextValues überschreiben, wenn Sie die GenerateNextValues-Funktionalität überschreiben möchten.

Beispiele

In diesem Beispiel wird die OnGenerateNextValues-Methode überschrieben, um die zufälligen Daten für einen Datengenerator zu generieren. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels, das für die Generator-Klasse bereitgestellt wird.

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

Berechtigungen

Siehe auch

Referenz

Generator-Klasse

Generator-Member

Microsoft.VisualStudio.TeamSystem.Data.DataGenerator-Namespace

GeneratorAttribute

GeneratorInit

IGenerator

Weitere Ressourcen

Erstellen von benutzerdefinierten Datengeneratoren

Übersicht über die Erweiterbarkeit von Datengeneratoren

Angeben von Details zur Datengenerierung für eine Spalte

Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Datengenerators für eine CHECK-Einschränkung