更新:2007 年 11 月
自定义数据生成器是数据生成器可用来在数据生成计划中生成数据的组件。尽管数据生成器提供了几个预设的生成器,但是您可能希望创建可满足您的特定需求的自定义生成器。
本主题介绍如何使用常规扩展性创建自定义数据生成器。常规扩展性是在大多数情况下建议使用的方法。也可以使用其他方法来创建自定义数据生成器,其中包括声明性扩展性、聚合扩展性和基扩展性。有关更多信息,请参见数据生成器扩展性概述。
创建自定义生成器
- 创建一个类库项目。 
- 在“解决方案资源管理器”中右击项目,再单击“添加引用”。 - 随即出现“添加引用”对话框。 
- 在“组件名称”列表中单击“.NET”选项卡,再单击“Microsoft.VisualStudio.TeamSystem.Data”,然后单击“确定”。 
- (可选,仅限 Visual Basic)在“解决方案资源管理器”中,单击“显示所有文件”按钮,再展开“引用”节点验证新引用。 
- 在“代码”窗口顶部的类声明之前,添加下面的代码行: - Imports Microsoft.VisualStudio.TeamSystem.Data.DataGenerator- using Microsoft.VisualStudio.TeamSystem.Data.DataGenerator;
- 将 Class1 类重命名为所需的名称。 .gif) 警告: 警告:- 默认情况下,为该类指定的名称将显示在“列详细信息”窗口上的“生成器”列中。所指定的名称不应当与标准生成器或其他自定义生成器的名称冲突。有关更多信息,请参见自定义数据生成器的注意事项。 - Public Class YourGeneratorName End Class- public class YourGeneratorName { }
- 指定从 Generator 继承类,如下面的示例所示: - Public Class YourGeneratorName Inherits Generator End Class- public class YourGeneratorName: Generator { }
- (可选)将 GeneratorStylesAttribute 添加到类声明中。 .gif) 重要说明: 重要说明:- 如果希望将自己的自定义数据生成器用作列类型的默认数据生成器,则它必须生成唯一的值,而且您必须将 GeneratorStylesAttribute 添加到该类中。有关更多信息,请参见如何:更改列类型的默认生成器。 - <GeneratorStyles(DesignerStyles:=GeneratorDesignerStyles.CanProduceUniqueValues)> _ Public Class TestGenerator Inherits Generator End Class- [GeneratorStyles(DesignerStyles = GeneratorDesignerStyles.CanProduceUniqueValues)] public class TestGenerator:Generator { }
- (可选)将 GeneratorAttribute 添加到类声明中。 .gif) 警告: 警告:- 只有当您希望为自己的自定义数据生成器指定自定义的设计器类型时,才必须将 GeneratorAttribute 添加到类中。如果您不希望指定自定义设计器,则可以省略此属性,系统将自动使用默认设计器。 - <Generator(GetType(CustomDesignerType))> _ Public Class TestGenerator Inherits Generator End Class- [Generator(typeof(CustomDesignerType))] public class TestGenerator:Generator { }
- 至少添加一个输出属性。有关更多信息,请参见如何:将输出属性添加到数据生成器。 
- 如有必要,添加输入属性。有关更多信息,请参见如何:将输入属性添加到数据生成器。 
- 实现 OnGenerateNextValues 方法,以便为每个输出属性生成适当的值。有关更多信息,请参见演练:创建自定义数据生成器。 
- 用强名称对程序集进行签名。有关更多信息,请参见演练:创建自定义数据生成器。 
- 生成解决方案。 
- 向 Visual Studio 注册新生成器。有关更多信息,请参见如何:注册自定义数据生成器。 
安全性
有关更多信息,请参见数据生成器的安全性。