Описание тега callermembername

`CallerMemberName` provides useful information about the caller within the called method.
4 ответа

Как использовать ключевое слово params вместе с информацией о вызывающем абоненте в C#?

Я пытаюсь объединить информацию о вызывающей стороне C# 5.0 вместе с ключевым словом C# params. Намерение состоит в том, чтобы создать оболочку для каркаса журналирования, и мы хотим, чтобы регистратор форматировал текст как String.Format. В предыду…
03 ноя '14 в 16:51
3 ответа

CallerMemberName в.NET 4.0 не работает

Я пытаюсь использовать CallerMemberName атрибут в.NET 4.0 через пакет переносимости BCL. Он всегда возвращает пустую строку вместо имени члена. Что я делаю неправильно? public partial class Form1 : Form { public Form1() { InitializeComponent(); Mess…
17 сен '13 в 03:37
1 ответ

Получение имени метода вызывающей стороны - атрибут Reflection и CallerInfo

Просто отметили производительность использования StackTrace а также CallerInfo Attributes, Шокирующе я обнаружил, что с помощью StackTrace гораздо быстрее, хотя каждый, где я читал, что To get the caller method name, the preferred approach is Caller…
08 апр '14 в 06:49
1 ответ

Является ли [CallerMemberName] медленным по сравнению с альтернативами при реализации INotifyPropertyChanged?

Есть хорошие статьи, которые предлагают разные способы реализации INotifyPropertyChanged, Рассмотрим следующую базовую реализацию: class BasicClass : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private void Fir…
22 мар '14 в 16:55
1 ответ

C++/CLI: как использовать атрибут CallerMemberNameAttribute в C++/CLI?

В C# и VB.Net я могу использовать CallerMemberNameAttribute, чтобы получить имя вызывающего в виде строки: public void Caller([CallerMemberName]string memberName = "") { Debug.Print(memberName); } Я хотел бы сделать то же самое в C++/CLI, но почему-…
1 ответ

PropertyChanged | CallerMemberName | AmbiguousMatchExcpetion

Я получаю следующую ошибку во время выполнения: AmbiguousMatchExcpetion "Двусмысленный матч найден". Кто-то знает, в чем причина? Учебный класс public class MyTrimmedClass : Control, INotifyPropertyChanged { public HtUserGroupSetup CurrentUserGroupS…
17 май '17 в 06:42
2 ответа

Можно ли оценить событие вызова заданного свойства?

Допустим, у нас есть обычный класс C# с одним свойством auto get/set. public class Entity { public String SomeProperty {get;set;} } Есть ли какое-либо событие, которое возникает и которое я могу оценить, когда вызывается метод set SomeProperty? Возм…
3 ответа

Подавить предупреждение "Участник никогда не назначается" в C#

У меня есть следующий код: ViewPortViewModel _Trochoid; public ViewPortViewModel Trochoid { get { return _Trochoid; } set { this.RaiseAndSetIfChanged(value); } } используя поддержку ReactiveUI INPC. Компилятор всегда предупреждает меня, что Trochoid…
1 ответ

Почему атрибуты информации о вызывающем абоненте реализованы так, как они есть?

Недостатки текущей реализации: Они нарушают принцип СУХОГО, так как вы должны переписывать параметры везде, где они вам нужны Они разрушают скрытие реализации, так как вы должны указать эти параметры уже в интерфейсе - даже если они нужны только одн…
29 июл '13 в 21:26
2 ответа

Есть ли какое-либо преимущество в использовании оператора nameof вместо CallerMemberNameAttribute для уведомления об изменениях свойств в.NET 4.5.3?

С появлением.NET 4.5.3 разработчики WPF теперь имеют три (или более) способа уведомить INotifyPropertyChanged Интерфейс изменения свойств. По сути, мой вопрос заключается в том, какой из двух методов, представленных в.NET 4.5 и более поздних версиях…
08 фев '15 в 17:51
1 ответ

CallerMemberName не работает для конструктора атрибутов на поле

Я создаю сериализатор в C# (.NET 4.5, VS 2013), и я использую атрибут для управления метаданными сериализации, такими как имя для хранения члена для чтения и записи. Поскольку я не хочу каждый раз записывать имя члена в качестве аргумента для атрибу…
18 фев '16 в 17:42
1 ответ

Разрешить вызывающей функции получить атрибут вызывающего в Python

Я хочу создать функцию, которая будет вызываться всякий раз, когда вызывающая сторона получает аргументы неправильного экземпляра, которая будет печатать вызывающую функцию __doc__ атрибут и выход. Функция следующая: def checktype(objects,instances)…
08 дек '16 в 13:59
1 ответ

Информация о вызывающем абоненте на Java

В C# у нас есть информация о звонящем public void DoProcessing() { TraceMessage("Something happened."); } public void TraceMessage(string message, [System.Runtime.CompilerServices.CallerMemberName] string memberName = "", [System.Runtime.CompilerSer…
24 окт '15 в 07:41
3 ответа

MVVM CallerMemberName и "волшебные струны"

В новом выпуске C# 5.0 появилось что-то, чтобы избавиться от "волшебных строк" ​​в реализации INotifyPropertyChanged, например: OnPropertyChanged("CustomerName"); Теперь можно написать просто: OnPropertyChanged(); Это возможно благодаря CallerMember…
2 ответа

Должен ли я предоставить метод с именем члена с nameof, или я должен полагаться на CallerMemberName, чтобы сделать это для меня?

Как реализовано CallerMemberName? Я получаю то, что он делает - это позволяет нам не допускать магических строк в нашем коде - но если его использовать более nameof а что более производительно? В чем разница / как CallerMemberName точно работает?
21 июн '16 в 11:07
1 ответ

Реализация атрибута с похожим поведением для CompilerServices.CallerMemberAttribute

Можно создать атрибут, который имеет поведение, подобное CallerMemberNameAttribute? Я имею в виду, я гуглил и нашел эту статью, в которой говорится, что CallerMemberName является атрибутом, принадлежащим группе CompilerServices, или, другими словами…
02 апр '15 в 13:33
2 ответа

Получение имени класса

Как получить class-name с caller info attributes, я strongly say a no войти имя класса с помощью отражения. Был в состоянии получить имя метода, используя [CallerMemberName] как ниже: private void Log(string logMessage, [CallerMemberName]string call…
24 июн '14 в 13:14
0 ответов

CallerMemberName не возвращает propertyName

Я работаю с кодом, который внезапно перестал работать. Я отследил проблему до функции CallerMemberName в.NET 4 Кажется, что он просто перестал работать, [CallerMemberName] String propertyName = "" Return "", даже если он вызывается из свойства "Spee…
18 июн '15 в 09:10
3 ответа

Зачем C# Caller Info Attributes нужно значение по умолчанию?

Я только что натолкнулся на C# 5 Атрибуты информации о вызывающем абоненте ( http://msdn.microsoft.com/en-us/library/hh534540.aspx). Это кажется очень полезной функцией, и я прочитал некоторую документацию ( http://www.codeproject.com/Tips/606379/Ca…
23 июн '14 в 03:25
2 ответа

Переопределить поведение по умолчанию GetEnumerator

У меня есть требование, где мне нужно знать метод вызова GetEnumerator(), Лучший способ, которым я мог бы подумать, - это переопределить поведение по умолчанию GetEnumerator к тому, что я создаю, т.е. GetEnumerator([CallerMemberName]string caller = …