Nein, das erwartet keiner.
Das Problem mit
with ist, dass es Scopes verschleiert.
Was ist, wenn Du in einem With-Block, den Wert von Tag des aktuellen Forms auf Sub-Controls schreiben willst? Bam-Scope-Konflikt.
Delphi-Quellcode:
with FormComponent.Property1.SubProperty2.SubProperty3 do
begin
BoolValue:= self.BoolValue;
IntValue:= self.IntValue;
StringValue:= self.StringValue;
end;
// wird dann zu
var myObject: TypeOfSubProperty3;
//...
myObject := FormComponent.Property1.SubProperty2.SubProperty3;
myObject.BoolValue:= BoolValue;
myObject.IntValue:= IntValue;
myObject.StringValue:= StringValue;
Letzlich sparst Du Dir damit sogar noch eine Zeile