как создавались старндартные методы в c#
Знаете я начал учить методы. И понял что Console.Write() это тоже метод, как и другие. Он ничего не возвращает (то есть, он void).
А как создавались эти методы? Ведь они тоже являются методами. Я хочу видеть код метода Console.Write() или хотя бы объяснение, как они создавались.
Ответы (1 шт):
Есть две возможности:
- Можно взять вопрос про то, где посмотреть исходники NET, зарыться в них, и отыскать в них реализацию Console.Write()
Почему я не привожу сразу ссылку на результаты поиска по исходникам? Потому, что в вопросе - ответе есть еще множество полезной информации, например, упоминания инструментов для декомпиляции сборок.
Вообще же, по приведенной ссылке видно, что есть много реализаций Console.Write(), отличающихся типом аргумента (спасибо что ты есть, полиморфимзм!).
Если взять конкретную реализацию (к примеру, я посмотрел на реализацию Console.Write() для int32-аргумента, то есть для привычного нам целого числа), то мы увидим множество вложеннх вызовов, которые сводят всё сначала к Out.Write() и так далее, вплоть до метода, который делает Write() в буфер символов.
На мой взгляд, это не очень поучительный код. Гораздо интереснее, опять таки, на мой взгляд, посмотреть, как реализован, к примеру, оператор сравнения для строк.
- А можно научиться писать расширяющие методы, и с их помощью "расширять" набор стандартных функций своими, нестандартными.