Метод можно сделать статичным, но так ли это? - PullRequest
345 голосов
/ 04 октября 2008

Resharper любит указывать на каждую страницу asp.net несколько функций, которые можно сделать статическими. Поможет ли мне сделать их статичными? Должен ли я сделать их статичными и переместить их в служебный класс?

Ответы [ 13 ]

3 голосов
/ 04 октября 2008

Если функции совместно используются на многих страницах, вы также можете поместить их в базовый класс страниц, а затем наследовать от него все страницы asp.net, использующие эту функциональность (и функции все еще могут быть статичными).

2 голосов
/ 04 октября 2008

Это помогает контролировать загрязнение пространства имен.

0 голосов
/ 14 ноября 2016

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

using static className; 

к вашим операторам использования, что делает код быстрее набираемым и более легким для чтения. Например, у меня есть большое количество того, что можно было бы назвать «глобальными переменными» в некотором коде, который я унаследовал. Вместо того, чтобы создавать глобальные переменные в классе, который был классом экземпляра, я установил их все как статические свойства глобального класса. Это делает работу, хотя и грязно, и я могу просто ссылаться на свойства по имени, потому что у меня уже есть статическое пространство имен.

Я понятия не имею, если это хорошая практика или нет. Мне нужно так много узнать о C # 4/5 и так много унаследованного кода для рефакторинга, что я просто пытаюсь руководствоваться советами Розелин.

Джо

...