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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.