дополнительный контроль параметров функции
От: Ilias  
Дата: 03.10.16 15:05
Оценка:
void someFn(string s)
{
...
}

string s1 = "qwe";
someFn(s1); //(1)

var s2 = "qwe";
someFn(s2); //(2)

string s3 = "qwe";
someFn(s3+"asd"); //(3)

someFn("qwe"+"asd");//(4)


Есть функция со строчным параметром. Хочется, чтобы вызовы 1 и 2 для нее срабатывали нормально, а 3 и 4 выдавали бы ошибку при компиляции. Это можно как-то устроить?
Если что, делается это в рамках рефакторинга, чтобы не просматривать сотни файлов вручную и, в принципе, допустимы любые изменения (тип параметра, какие-то аттрибуты самописные может), главное найти проблемные места, а изменения я потом откачу назад. Если что, фреймворк — 3.5

Спасибо
Re: дополнительный контроль параметров функции
От: Kolesiki  
Дата: 03.10.16 15:25
Оценка:
Здравствуйте, Ilias, Вы писали:

I>someFn(s2); //(2)

I>someFn(s3+"asd"); //(3)

Если я правильно понял, "проблемные" вызовы — это "с плюсиком"? Тогда просто ищите по регулярке someFn и скобку с плюсом.
Re: дополнительный контроль параметров функции
От: Sinix  
Дата: 03.10.16 15:36
Оценка:
Здравствуйте, Ilias, Вы писали:

I>главное найти проблемные места, а изменения я потом откачу назад. Если что, фреймворк — 3.5


Да. Или регексом, что-то типа
\w\([^()]+\+[^()]+?\)

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