title: Can you retrieve a D-Bus property without calling org.freedesktop.DBus.Properties.Get?
body: <p>Say I want to programmatically get the interface name of my ethernet card. This seems to work:</p>
  
  <pre><code>dbus-send --print-reply \
            --type=method_call \
            --system \
            --dest=org.freedesktop.NetworkManager \
            /org/freedesktop/NetworkManager/Devices/0 \
            org.freedesktop.DBus.Properties.Get \
            string:org.freedesktop.NetworkManager.Device \
            string:Interface
  </code></pre>
  
  <p>Which returns:</p>
  
  <pre><code>method return sender=:1.5 -&gt; dest=:1.135 reply_serial=2
     variant       string "eth0"
  </code></pre>
  
  <p>Is there some way of cutting out the middleman <code>org.freedesktop.DBus.Properties.Get</code> and retrieve the property more directly?    Alas, calling it as a method does not work:</p>
  
  <pre><code>dbus-send --print-reply \
            --type=method_call \
            --system \
            --dest=org.freedesktop.NetworkManager \
            /org/freedesktop/NetworkManager/Devices/0 \
            org.freedesktop.NetworkManager.Device.Interface
  </code></pre>
  
  <p>Returns:</p>
  
  <pre><code>Error org.freedesktop.DBus.Error.UnknownMethod: 
  Method "Interface" with signature "" on interface 
  "org.freedesktop.NetworkManager.Device" doesn't exist
  </code></pre>
  
  <p>I ask because having to call  <code>org.freedesktop.DBus.Properties.Get</code> looks like having to call a <code>object.getProp("someproperty")</code> instead of <code>object.getSomeProperty()</code> in Python/Java/etc.</p>