Does CallerMemberNameAttribute use reflection
问题 You can use the CallerMemberName attribute to avoid specifying the member name as a String argument to the called method when implementing INotifyPropertyChanged interface. The question is does it use reflection behind the scene? Are there any performance hit over hard coding Property name? 回答1: No; the compiler hard-codes the member-name directly during compilation. In terms of the IL, this is ldstr . For example if we compile: static void Implicit() { Log(); } static void Explicit() { Log(