Поделиться через


Generator.OnGenerateNextValues - метод

Создает следующее значение в соответствии с алгоритмом генератора данных.

Пространство имен:  Microsoft.Data.Schema.Tools.DataGenerator
Сборка:  Microsoft.Data.Schema.Tools (в Microsoft.Data.Schema.Tools.dll)

Синтаксис

'Декларация
Protected Overridable Sub OnGenerateNextValues
protected virtual void OnGenerateNextValues()
protected:
virtual void OnGenerateNextValues()
abstract OnGenerateNextValues : unit -> unit 
override OnGenerateNextValues : unit -> unit 
protected function OnGenerateNextValues()

Заметки

Метод OnGenerateNextValues создает данные при выполнении плана создания данных. Чтобы указать логику создания данных для выходных свойств генератора данных, переопределите этот метод.

Этот метод вызывается методом GenerateNextValues. Чтобы изменить функциональные возможности GenerateNextValues, необходимо переопределить OnGenerateNextValues.

Примеры

В данном примере с целью создания случайных данных для генератора данных переопределяется метод OnGenerateNextValues. Данный пример кода является частью большого примера, приведенного в описании класса 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

Безопасность платформы .NET Framework

См. также

Ссылки

Generator Класс

Microsoft.Data.Schema.Tools.DataGenerator - пространство имен

GenerateNextValues