Я запускаю Анализ кода и получаю это сообщение:
CA1822: Microsoft.Performance: параметр this (или Me в Visual Basic) CreateIntervalString(TimeSpan) никогда не используется. Пометьте член как статический (или Shared в Visual Basic) или используйте this/Me в теле метода или хотя бы одно средство доступа к свойству, если это необходимо.
Мой код:
private string CreateIntervalString(TimeSpan timeSpan)
{
return timeSpan.ToString();
}
как я понял, поскольку функция CreateIntervalString
не использует никаких членов класса, а использует только ввод timeSpan, VisualStudio рекомендует мне пометить ее как статическую.
Мои вопросы:
- Почему когда я помечаю его как статический, производительность повышается?
- Моя функция является частью библиотеки, которая должна быть потокобезопасной, предотвращает ли это метод маркировки как статический?
- У меня есть дополнительные частные функции, которые используют только свои входные данные и не используются ни для каких других членов класса, но я не получаю для них ту же ошибку.
Большое спасибо!
Примеры:
следующий метод выдает ошибку:
private string CreateIntervalString(TimeSpan timeSpan)
{
return timeSpan.ToString();
}
а следующее нет:
private DateTime ParseDateString(string dateTimeString)
{
// the years,monthe,days,hours,minutes and secondes found by the dateTimeString input
return new DateTime(years, months, days, hours, minutes, secondes);
}