Почему не было добавлено ни одного типа вызывающего?
Ответ 1
Это сложно для кого-то, кроме команды дизайнеров, ответить, но я бы сказал, что для CallerTypeNameAttribute нет сильного варианта использования.
Атрибуты файла и строки предоставляют расширенную информацию для процедур ведения журнала, которые иначе невозможно было бы получить. Имя члена позволяет вести журнал и упрощает реализацию INotifyPropertyChanged, а также позволяет безопасное рефакторинг имен без необходимости поиска строк.
Тип вызывающего абонента уже может быть передан данному методу с помощью typeof(CurrentType).Name, поэтому он, вероятно, не заслуживает дополнительного атрибута. Вы могли бы сказать, что имя участника вызывающего абонента также может быть получено с помощью MethodBase.GetCurrentMethod, но это, вероятно, всегда вызывает отражение, а typeof, вероятно, оптимизировано, поэтому вы уже получаете преимущество безопасного рефакторинга и меньшее влияние на производительность.
Единственный недостаток использования typeof вместо возможного атрибута будет заключаться в том, что обход объекта не повлияет на подход атрибута.