Gramatyka języka C# nie udostępnia takiej możliwości.
W JavaScript służy do tego instrukcja with
, ale jej użycie nie jest zalecane, bo właściwość obiektu zostanie używa tylko wtedy, gdy obiekt ją zawiera, a w przeciwnym wypadku użyta zostanie zmienna globalna.
with (line) {
X1 = 200;
X2 = 300;
}
Patrząc na kod nie zawsze jest możliwe wywnioskowanie, czy w zasięgu instrukcji with
zostanie użyta zmienna globalna, czy właściwość obiektu.
let o = {};
let p = true;
// W tym przypadku to, co się będzie działo w zasiegu instrukcji
// `with`, zależy od danych wprowadzonych przez użytkownika.
o[prompt()] = true;
with (o) {
p = false;
}
C# mógłby udostępniać bezpieczną instrukcję, która zapisuje wartości w zasięgu jakiejś instrukcji bez konieczności podawania nazwy obiektu przy nazwie każdej właściwości, ale to by zwiększyło ilość linii potrzebnych do zapisania wartości wielu właściwościom, a nie zredukowało. Jeżeli korzyścią byłoby nadanie wartości wielu właściwościom w obiekcie o bardzo długiej nazwie, to rozwiązaniem jest użycie innej referencji do tego obiektu, która ma krótką nazwę.