Generator.OnGenerateNextValues, méthode
Génère la valeur suivante en fonction de l'algorithme de génération de données.
Espace de noms : Microsoft.Data.Schema.Tools.DataGenerator
Assembly : Microsoft.Data.Schema.Tools (dans Microsoft.Data.Schema.Tools.dll)
Syntaxe
'Déclaration
Protected Overridable Sub OnGenerateNextValues
protected virtual void OnGenerateNextValues()
protected:
virtual void OnGenerateNextValues()
abstract OnGenerateNextValues : unit -> unit
override OnGenerateNextValues : unit -> unit
protected function OnGenerateNextValues()
Notes
La méthode OnGenerateNextValues crée les données lors de l'exécution d'un plan de génération de données. Vous devez substituer cette méthode pour fournir la logique qui génère les données pour les propriétés de sortie de votre générateur de données.
La méthode GenerateNextValues appelle cette méthode. Pour modifier les fonctionnalités de GenerateNextValues, vous devez substituer OnGenerateNextValues.
Exemples
Cet exemple substitue la méthode OnGenerateNextValues pour générer les données aléatoires pour un générateur de données. Cet exemple de code fait partie d'un exemple plus complet fourni pour 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.
' 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
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.