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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.Data.Schema.Tools.DataGenerator - пространство имен