nameof in attribute

.net-attributes, c#, nameof

Solution

It's good that it's supported there, isn't it? So no, it's not strange.

Documentation mentions an `Attribute` example as key use case:

[DebuggerDisplay("={" + nameof(GetString) + "()}")]  
class C {  
    string GetString() { }  
}  

Problem

Considering `Myatt` attribute and `MyObj` class, it is somehow strange that `ObjName` property is known in scope of `Myatt` attribute. Isn't it? ``` [AttributeUsage(AttributeTargets.Property)] public class MyAtt : Attribute { public MyAtt(string name) { this.Name = name; } public string Name { get; set; } } public class MyObj { [MyAtt(nameof(ObjName))] //Can access to ObjName?! public int ObjID { get; set; } public string ObjName { get; set; } } ``` Update : Sorry, I'm wondering why the first case is not possible and the second is possible. ``` 1. [MyAtt(nameof(this.ObjName))] 2. [MyAtt(nameof(ObjName))] ``` I get it now. Thanks.

Original source