title: How get property name from instance class
body: <p>I need get property name as string from object class. It is possible in Delphi?</p>
  
  <p>I need property transfer as argument of method and get property name as string. I don't want use property name as argument because the compiler does not catch error when name of property is changed in class.</p>
  
  <pre><code>type
    TMyClass = class
    private
      fField: some_type;
    public
      property Field:some_type read fField;
    end;
  
  function GetPropertyName(arg: ??):string
  begin
    Result := arg.PropertyName; // here I need get property name form transfer type
  end;
  
  var
    obj: TMyClass;
    name: string;
  begin
    name := GetPropertyName(obj.Field);  
  end;
  </code></pre>
  
  <p>To clarify, as discussed in comments, I'm looking for a direct equivalent to the C# <a href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/nameof" rel="nofollow noreferrer"><code>nameof</code></a> function. </p>