Condividi tramite


Metodo Generator.OnGenerateNextValues

Aggiornamento: novembre 2007

Genera il valore successivo in base all'algoritmo di generazione dei dati.

Spazio dei nomi:  Microsoft.VisualStudio.TeamSystem.Data.DataGenerator
Assembly:  Microsoft.VisualStudio.TeamSystem.Data (in Microsoft.VisualStudio.TeamSystem.Data.dll)

Sintassi

Protected Overridable Sub OnGenerateNextValues

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

Note

Il metodo OnGenerateNextValues crea i dati quando viene eseguito un piano di generazione dati. È necessario eseguire l'override di questo metodo per fornire la logica che genera i dati per le proprietà di output del generatore di dati.

Il metodo GenerateNextValues chiama questo metodo. È necessario eseguire l'override del metodo OnGenerateNextValues se si desidera eseguire l'override della funzionalità GenerateNextValues.

Esempi

Nell'esempio riportato di seguito viene eseguito l'override del metodo OnGenerateNextValues per generare i dati casuali per un generatore di dati. L'esempio di codice fa parte di un esempio più esaustivo fornito per 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

Autorizzazioni

Vedere anche

Riferimenti

Generator Classe

Membri Generator

Spazio dei nomi Microsoft.VisualStudio.TeamSystem.Data.DataGenerator

GeneratorAttribute

GeneratorInit

IGenerator

Altre risorse

Creazione di generatori di dati personalizzati

Cenni preliminari sulla extensibility dei generatori di dati

Specifica dei dettagli di generazione dati per una colonna

Procedura dettagliata: creazione di un generatore dati personalizzato per un vincolo CHECK