如何在单次调用时将参数传递给不同的方法,每次消除传递相同的参数?

时间:2011-08-09 07:38:34

标签: c#-4.0 tdd

我有TDD Sql数据库项目设置并调用Assert方法定义

Assert.AreEqual(someObject.GetValue<int>(Constants.SomeValue),
    anotherObject.GetValue<int>(dt, Constants.SomeValue), "some message")

问题:我需要为每次通话传递Constant.SomeValueGetValue方法。我们怎样才能消除这一点。我们可以在外部方法中定义它(即Assert),以便方法refrenced inside获取参数值。我可以在字符串类上创建一个扩展方法但是我需要再次传递所有对象并构建断言方法并从扩展方法返回。任何关于这个或简单方法的想法。

1 个答案:

答案 0 :(得分:0)

不是100%肯定你的目标。

看起来你倾向于使用新的辅助方法进行断言。将公共部分隔离到辅助方法中,并且只将不同调用的部分作为参数传递给方法。

public void PleaseNameMeBetter<T>(Constants columnName)
{
   Assert.AreEqual(someObject.GetValue<T>(columnName),
                   anotherObject.GetValue<T>(dt, columnName), 
                   "some message")
}