相关疑难解决方法(0)

如何在不显式创建类的情况下创建临时对象来传递?

我经常发现自己需要创建一个类作为一些数据的容器.它只是简单地使用,但我仍然需要创建类.像这样:

public class TempObject
{
    public string LoggedInUsername { get; set; }
    public CustomObject SomeCustomObject { get; set; }
    public DateTime LastLoggedIn { get; set; }
}


public void DoSomething()
{
    TempObject temp = new TempObject
    {
        LoggedInUsername = "test",
        SomeCustomObject = //blah blah blah,
        LastLoggedIn = DateTime.Now
    };
    DoSomethingElse(temp);
}

public void DoSomethingElse(TempObject temp)
{
    // etc...
}
Run Code Online (Sandbox Code Playgroud)

通常我的临时对象具有更多属性,这就是我想首先将它们分组的原因.我希望有一种更简单的方法,例如匿名类型.问题是,当我将它传递给另一种方法时,我不知道该接受什么.这种类型是匿名的,所以我怎么能在另一方接受呢?

public void DoSomething()
{
    var temp = new
    {
        LoggedInUsername = "test",
        SomeCustomObject = //blah blah,
        LastLoggedIn = DateTime.Now
    }; …
Run Code Online (Sandbox Code Playgroud)

.net c# oop object anonymous-types

15
推荐指数
2
解决办法
2万
查看次数

是否有任何工具用随机数据填充类属性?

我想要做的是创建一个具有不同属性的属性的类,将该类传递给另一个将使用适当的随机数据设置属性的类...这里是伪代码:

public class Customer
{
   [Attribute("FirstName")]
   private string CustomerFirstName;
   public {get;set} //etc

   [Attribute("LastName")]
   private string CustomerLastName;
   public {get;set;} //etc

   [Attribute("DateTime")]
   private DateTime CustomerSignUpDate;
   public DateTime {get;set;} //yadda

   [Attribute("Phone")]
   private string CustomerPhone;
   public string {get;set;} //yadda
}
Run Code Online (Sandbox Code Playgroud)

然后这样做

IList<Customer> CustomerList=ClassFillerOutClass(new Customer(),5);
Run Code Online (Sandbox Code Playgroud)

结果将是5个客户列表,其属性中包含适当的"随机"数据.

如果这不存在......我想我可以自己开始一个项目......如果没有必要,我只是不想重新发明轮子.

编辑:我忘了一块.我想用它作为测试工具.因此,在上面的示例中,我可以快速创建一个包含随机但适当值的5个客户的列表.然后说传递给我的持久性方法,并有一些我可以检查的东西.我试图避免每次为TDD目的手动创建一个填充的对象.

编辑2:好的,所以我开始自己动手...我将在本周末将它发布在Codeplex上并将其链接到这里...我显然不会这样做但是如果其他人想要继续工作它将是一个开始它.

c# random class

8
推荐指数
2
解决办法
4887
查看次数

我应该使用实际或样本数据进行单元测试吗?

我正在为遗留应用程序的输出编写一个解析器,由于没有关于文件语法的规范,我尽可能多地获取这些文件的样本.

现在我在实现解析器之前编写单元测试(因为没有其他理智的方法来执行此操作)但我不确定是否应该:

  • 使用应用程序生成的真实文件,从中读取并将输出与我将以json格式存储在另一个文件中的输出进行比较.
  • 或创建一个带有标记的示例字符串和我想测试的可能性以及带有预期输出的dict(这是python).

我倾向于使用第二种选择,因为我只测试我需要的东西,没有实际文件中包含的所有"真实世界"数据,但我担心我可能忘记测试一种或另一种可能性.

你怎么看?

unit-testing

6
推荐指数
1
解决办法
2150
查看次数

标签 统计

c# ×2

.net ×1

anonymous-types ×1

class ×1

object ×1

oop ×1

random ×1

unit-testing ×1