Как передать параметр разным методам за один вызов, исключить каждый раз передачу одного и того же параметра? - PullRequest
0 голосов
/ 09 августа 2011

У меня есть настройка проекта базы данных TDD Sql и вызов Assert определение метода

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

Вопрос: мне нужно передать Constant.SomeValue в GetValue метод для каждого вызова. Как мы можем устранить это. Можем ли мы определить это во внешнем методе (т. Е. Assert), чтобы метод, указанный внутри, получил значение параметра. я могу создать метод расширения на строковом классе, но опять же мне нужно передать весь объект и построить метод assert и вернуться из метода расширения. Любые идеи на этот счет или простой подход.

1 Ответ

0 голосов
/ 11 августа 2011

Не уверен на 100% в том, к чему вы стремитесь.

Похоже, вы склоняетесь к новому вспомогательному методу для утверждений. Изолируйте общие части в вспомогательном методе и передавайте только те части, которые отличаются по вызовам, в качестве параметров метода.

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