În C #, există cuvântul cheie acest lucru. care oferă acces la instanța curentă a clasei. Una dintre posibilele aplicații ale acestui cuvânt cheie este de a rezolva ambiguitatea contextului, care poate să apară atunci când parametrul de intrare este numit la fel ca și un câmp de acest tip de date. Desigur, în mod ideal, trebuie să rămânem doar la convențiile de denumire care nu pot duce la o astfel de ambiguitate.
Pentru a demonstra utilizarea unui cuvânt cheie vizual acest lucru, să ia în considerare următorul exemplu:
înlănțuire Constructor
O altă aplicație a acestui cuvânt cheie este de a proiecta o clasa care foloseste o tehnica numita designeri de ambreiaj cu lanț sau constructori (constructor înlănțuire). Acest model de proiectare este util atunci când există o clasă care definește mai mulți constructori. Având în vedere faptul că designerii verifica de multe ori argumentele primite pentru a se conforma cu diverse reguli de afaceri, este nevoie de verificare logică redundante în cadrul scenografi.
designeri logice de flux în acest exemplu este descris mai jos:
Un obiect este creat prin apelarea constructorul cu un argument de tip octet.
Proiectantul transmite datele către proiectantul de master, adăugând necesare argumente suplimentare inițiale, care nu sunt specificate de către apelant.
Designerul atribuie câmpurile de intrare ale obiectului.
Controlul este returnat la apelul inițial constructor, care execută declarațiile de cod de repaus.
În constructorii de lanț este remarcabil faptul că acest șablon de programare funcționează cu orice versiune a limbajului C # și platforma .NET. Cu toate acestea, în cazul în care platforma țintă este .NET 4.0, puteți simplifica și mai mult sarcina de programare prin utilizarea de argumente opționale ca o alternativă la designeri tradiționale lanțuri.