Auf die Art kann man sich auch direkt PropertyInfos oder MethodInfos (vor allem den korrekten Overload) geben lassen. Sollte man aber möglichst so machen, dass es nicht unnötig oft passiert. Type-safe ist nett, aber schnell ist auch wichtig.
Ein
Code:
var name = typeof(Foo).GetProperty("Bar").Name;
ist nicht schneller als über die Expression.
Aber daran haben ja jetzt weniger die Attribute, sondern der Compiler an sich "Schuld". Vielleicht ändert sich das eines Tages ja mal. Die Class Helper und Dinge wie "42.toString()" sagen mir irgendwie, dass Hoffnung besteht
Nicht wirklich, denn die Implementierung dahinter ist eher schmuddelig. Ich wünsche mir ja schon lange
property references oder besser noch member references.
Aber dazu müsste einiges am Compiler aufgebohrt werden - was aber nicht zuletzt einiges der arg hässlichen Implementierung der LiveBindings (jupp, die gehen komplett über magic string basierte
RTTI) unnötig machen würde.