Debuggen van automatische eigenschappen

Is er een manier om het breekpunt in te stellen op setter/getter in automatisch geïmplementeerde eigenschap?

int Counter { get; set; }

Anders dan het te wijzigen naar de standaardeigenschap (ik doe het op deze manier, maar om dat te doen moet ik het hele project wijzigen en opnieuw compileren)


Antwoord 1, autoriteit 100%

Visual Studio 2008, 2010, 2012, 2013 gebruiken:

  1. Ga naar het Breakpoint-venster
  2. Nieuw -> Pauze bij functie…
  3. Voor de gettypt u: ClassName.get_Counter()

    Voor de settypt u: ClassName.set_Counter(int)

U krijgt een “Geen bron beschikbaar”wanneer het onderbrekingspunt wordt bereikt, maar u krijgt de oproeplocatie in de oproepstack.

Ik vond deze oplossing hier op MSDN


Antwoord 2, autoriteit 7%

Op Visual Studio 2017:

Beweeg over “set” woord -> klik met de rechtermuisknop -> Breekpunt -> Breekpunt invoegen

Vroeger:

Voor

Na:

Na


Antwoord 3, autoriteit 4%

Deze vraag is erg oud, maar het is vermeldenswaard dat het gewoon werkt in VS 2015.

https: //devblogs.microsoft.com/devops/set-breakpoints-on-auto-implemented-properties-with-visual-studio-2015/

class X {
  public string name {
    set;
    get; // setting a breakpoint here will break in VS 2015!
  }
}

Antwoord 4, autoriteit 3%

Als ik jou was, zou ik tijdelijk van de eigenschap een standaard maken, ondersteund door een intern veld … stel je breekpunten in, en dan kun je het daarna weer wijzigen.


Antwoord 5

Stel breekpunten in waar u eigendom instelt of eigendom krijgt, op geen enkele andere manier.

u kunt dit doen door Vind alle referentiesopties

En aangezien het alleen waarden opslaat en geen code in het settergedeelte heeft, dus wat debug je?

Other episodes