Vielleicht kommt
TValue.TryAsType<T>
dem noch am nächsten. Allerdings braucht man dann für jeden Fall eine entsprechend deklarierte Variable. Das ließe sich aber vielleicht wieder über Inline-Variablen lösen. Bleibt aber immer noch ziemlich unelegant:
Delphi-Quellcode:
var V: TValue := TValue.From<TComponent>(FindComponent('MyName'));
var btn: TButton;
if V.TryAsType<TButton>(btn) then begin
btn.Click;
end;
var edt: TEdit;
if V.TryAsType<TEdit>(edt) then begin
edt.Clear;
end;