Стратегия статического метода и метода расширения - PullRequest
1 голос
/ 24 октября 2011

Я работаю над личной библиотекой помощников для своих проектов. У меня есть много вспомогательных классов и методов расширения для моей библиотеки, но я не могу определить пространство имен и метод этого вспомогательного класса как статическое или расширение?

В каком случае методы должны быть статическими? StringUtility.ToBase64("xxxx") В каком случае методы должны быть расширены-статичны? (Я знаю, что расширения должны быть статическими) "xxxx".ToBase64()

Как я могу легко определить стратегию для этого поведения?

Ответы [ 2 ]

4 голосов
/ 24 октября 2011

Мое решение следующее: «Этот метод делает что-то с объектом, который он расширяет, возвращает что-то и не меняет расширенный объект», тогда я использую расширенные методы.Я использую статические методы класса, когда эти вспомогательные функции выполняют другие функции, связанные с типом объекта.Надеюсь, это вам немного поможет.

0 голосов
/ 10 января 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...