Krishna Veni Ответов: 3

Когда использовать статические методы C#


Обычно объявляются статические переменные для которых поле является общим или общим для всех экземпляров класса но я хочу когда использовать статические методы c#


пожалуйста, помогите мне.


спасибо.

Что я уже пробовал:

Обычно объявляются статические переменные для которых поле является общим или общим для всех экземпляров класса но я хочу когда использовать статические методы c#

PIEBALDconsult

Когда вы поймете, что ООП не подходит к данной ситуации.

3 Ответов

Рейтинг:
2

OriginalGriff

Вы используете статические методы, когда методу не нужно обращаться к каким-либо нестатическим элементам класса, таким как свойства, события или методы, чтобы выполнить свою работу.

Подумайте об этом так: сколько колес у автомобиля? Какого цвета автомобиль?
Первый-статический вопрос, потому что все автомобили имеют 4 колеса (если бы у них было два, они были бы мотоциклами, а три-трехколесными). Вам не нужно устанавливать, о каком автомобиле вы говорите, потому что этот вопрос является общим для всех автомобилей.
Второй-нестатический: вы должны указать, о каком автомобиле идет речь. "Моя машина" черная," ваша машина "зеленая," эта машина "красная," та машина " синяя - вы не можете ответить на вопрос, если не знаете, о какой машине идет речь.

Классы одинаковы: статические методы (и свойства, поля, события), когда вам не нужна информация о конкретном экземпляре, нестатические, когда вам это нужно:

public class Car
   {
   private Color colour;
   public static int CountWheels() { return 4; }
   public Color GetColour() { return colour; }
   }


Richard Deeming

"все автомобили имеют 4 колеса"

ГМ![^]

И я повторяю еще раз, ГМ![^]

OriginalGriff

:Д Один из них-трехколесный велосипед - если бы вы когда-нибудь ездили на нем (а я не рекомендую его), вы бы знали, что они классифицируются как трехколесные мотоциклы. Отвратительные, мерзкие кучи Visual Basic...
Другой называется автомобиль, но он тоже немного изворотлив.

Однако все лучшие правила имеют исключения:
https://media.wired.com/photos/59322d3044db296121d69883/master/pass/Tyrrell-P34-ft.jpg
http://www.algysautosblog.com/wp-content/uploads/2013/11/FAB-1.jpg

(и оба они тоже были дрянью!)

Рейтинг:
1

Andy Lanng

Статические методы imho должны использоваться только для возврата одного или нескольких типов одного и того же типа. Например:

/ код psudo
Public static MyClass GetById (int id){...}
Public static List< myclass> SelectAll(){...}

Эти методы не имеют состояния, и если у вас много объектов,это хороший способ организовать возврат. Это довольно хороший способ обработки контекстных моделей, но бесполезный при работе с инъекцией зависимостей

Просто повторяю: имхо!


Рейтинг:
0

CPallini

Что о документация[^]?