Compartir a través de


Generator.OnGenerateNextValues (Método)

Actualización: noviembre 2007

Genera el valor siguiente según el algoritmo de generación de datos.

Espacio de nombres:  Microsoft.VisualStudio.TeamSystem.Data.DataGenerator
Ensamblado:  Microsoft.VisualStudio.TeamSystem.Data (en Microsoft.VisualStudio.TeamSystem.Data.dll)

Sintaxis

Protected Overridable Sub OnGenerateNextValues

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

Comentarios

El método OnGenerateNextValues crea los datos cuando se ejecuta un plan de generación de datos. Debe reemplazar este método para proporcionar la lógica que genera los datos para las propiedades de salida del generador de datos.

El método GenerateNextValues llama a este método. Debe reemplazar OnGenerateNextValues si desea reemplazar la funcionalidad de GenerateNextValues.

Ejemplos

Este ejemplo reemplaza el método OnGenerateNextValues para generar los datos aleatorios de un generador de datos. Este ejemplo de código forma parte de un ejemplo más extenso referente a la clase 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

Permisos

Vea también

Referencia

Generator (Clase)

Generator (Miembros)

Microsoft.VisualStudio.TeamSystem.Data.DataGenerator (Espacio de nombres)

GeneratorAttribute

GeneratorInit

IGenerator

Otros recursos

Crear generadores de datos personalizados

Descripción general de la extensibilidad del Generador de datos

Especificar los detalles de la generación de datos para una columna

Tutorial: Crear un generador de datos personalizado para una restricción CHECK