小编Bra*_*oor的帖子

如何基于另一个类生成代码?

要创建测试数据,我们使用Builder模式的以下变体(简化示例!):

样本类:

public class Person
{
   public string Name { get; set; }
   public string Country { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

建设者:

public class PersonBuilder
{
    private string name;
    private string country;

    public PersonBuilder()
    {
        SetDefaultValues();
    }

    private void SetDefaultValues()
    {
        name = "TODO";
        country = "TODO";
    }

    public Person Build()
    {
        return new Person
                   {
                       Name = name,
                       Country = country
                   };
    }

    public PersonBuilder WithName(string  name)
    {
        this.name = name;            
        return this;
    }

    public PersonBuilder WithCountry(string country)
    { …
Run Code Online (Sandbox Code Playgroud)

reflection resharper code-generation codesmith visual-studio

9
推荐指数
1
解决办法
782
查看次数