Недавно я провел рефакторинг некоторого кода, и теперь у меня есть статический служебный класс с методом, подобным следующему:
const int x = 1;
public static string doWork(ref DataTable dt)
{
decimal total = 0;
foreach (DataRow row in dt.Select("COST_ID = " + x))
{
decimal annual = decimal.Parse(row["Cost"].ToString());
total += decimal.Round(annual, 2);
}
return String.Format("{0:C}", total);
}
Я упростил пример для наглядности ...
Могу ли я испытать какие-либо негативные последствия от этого и размещения вызова метода doWork в коде приложения ASP.NET, пораженного многими пользователями? Кто-нибудь знает или у меня есть ссылка, где я могу прочитать о том, как с точки зрения производительности статический метод будет работать? Это становится узким местом любого рода?
EDIT:
Да, я прошу прощения, что это был не очень хороший пример, поэтому давайте скажем что-то вроде этого:
const int x = 1;
public static string doWork(ref DataTable dt)
{
foreach (DataRow row in dt.Select("COST_ID = " + x))
{
row["Cost"] = 0.0;
}
}
Вы говорите, что A) Мне даже не нужен этот ref здесь, так как Datatable уже передан ref и B) Производительность совсем не падает при "перенаправлении" всех вызовов одного статического метода.