String.Format - как это работает и как реализовать настраиваемые строки форматирования

С помощью String.Format()можно форматировать, например, объекты DateTimeразными способами. Каждый раз, когда я ищу нужный формат, мне приходится искать в Интернете. Почти всегда я нахожу пример, который могу использовать.Например:

String.Format("{0:MM/dd/yyyy}", DateTime.Now);          // "09/05/2012"

Но я понятия не имею, как это работает и какие классы поддерживают эти «волшебные» дополнительные строки.

Итак, мои вопросы:

  1. Как String.Formatсопоставляет дополнительную информацию MM/dd/yyyyсо строковым результатом?
  2. Все ли объекты Microsoft поддерживают эту функцию?
    Это где-то задокументировано?
  3. Можно ли сделать что-то вроде этого:
    String.Format("{0:MyCustomFormat}", new MyOwnClass())
77
задан zzzzBov 9 May 2012 в 15:27
поделиться