Verschil tussen "Controls.Add ()" en "this.Controls.Add ()" in ASP.NET (C #)

Wat is het verschil tussen "Controls.Add (xyz)" en "this.Controls.Add (xyz)" in ASP.NET (C #)?

Hoe/Wanneer maakt het uit of ik dezelfde controle aan een webpagina toevoeg, maar dan via twee (verschillende) bovengenoemde methoden?

Wanneer zou men de voorkeur moeten krijgen boven de ander?

1
toegevoegd de auteur Magnus, de bron

6 antwoord

Er is geen verschil; this verwijst naar het huidige exemplaar van de klasse waarin u zich bevindt. Zonder this op te geven, krijgt u de methode die het dichtst in de buurt komt (dit is this hoe dan ook).

3
toegevoegd

In dit geval is er weinig verschil.

Het gebruik van this maakt uw code een beetje meer expliciet dat het verwijst naar een lid van de klas.

Gebruik alles waar u en uw team het over eens waren.

2
toegevoegd
@Downvoter - wil je reageren?
toegevoegd de auteur Oded, de bron

In uw geval vertegenwoordigt dit het huidige exemplaar van de klasse. Dus, tenzij je te maken hebt met uitbreidingsmethoden, zou je goed moeten zijn om beide manieren te gebruiken, want het is een kwestie van semantiek.

What is the difference between "Controls.Add(xyz)" and "this.Controls.Add(xyz)" in ASP.NET (C#)?
None.

How/When does it matter if I am adding the same control onto a webpage but via two (different) aforementioned methods?
It does not matter.

When one should be preferred over the other?
Using this is usually preferred as it is more explicit and helps code readability. But it is a matter of preference.

Reference: this (C# reference)

2
toegevoegd

Geen verschil. Het is een overbodige kwalificatie, maar zoals Oded al zei, is het voor code-leesbaarheid.

0
toegevoegd

Het verschil is slechts de tekst 'dit'. De twee verschillende instructies voeren dezelfde taken uit.

De ene moet de voorkeur hebben boven de andere, alleen gebaseerd op coderingsnormen voor uw organisatie. (Ik vind het het beste zonder het 'dit'.)

0
toegevoegd

De aanwijzer wijst expliciet naar de huidige instantie.

0
toegevoegd