Laden...

Was machen Attribute über einem Property?

Erstellt von Emrichm2 vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.719 Views
E
Emrichm2 Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren
Was machen Attribute über einem Property?

Sehr geehrte mitstreiter,

ich bin ziemlich neu im programmieren von C# Code
Meine Aufgabe ist das Umschreiben eines vorhanden Codes in C Sharp
Wobei ich zuerst einmal verstehen muss was der alte Code bedeutet.
Hier nun meine Frage...

Weis jemand von euch was dieser CodeSchnipsel bedeutet und was er macht 8o

 [DescriptionAttribute("Area to be used for Blur Algorithm (X by X)")]
 [CategoryAttribute("Settings")]
        public Int32 BlurArea
        {
            get { return blurArea; }
            set { blurArea = value; }
        }

der Code Wiederholt sich noch ein paar mal

Ich danke euch für eure Antworten...

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

prinzipiell bitte C#-Code auch in die Tags packen.

Das sieht nach Code von einem Control aus.

Die ersten beiden Zeilen sind Attribute, die dem Property bestimmte Eigenschaften geben, die wahrscheinlich im Designer verwendet werden.

Das was danach kommt ist ein Property, welches eine Variable/Feld names "blurArea" kapselt.
Hintergrund: Variablen und Felder sind normalerweise private und somit von außen weder sichtbar noch zugreifbar (das ist sinnvoll).

Details: Eigenschaften (C#-Programmierhandbuch)

LG

PS: Das Property geht auch heutzutage über ein AutoProperty kürzer, wenn dort sonst nichts passiert, dann kannst du einfach:


public int BlurArea { get; set; }

Das Feld blurArea brauchst du dann nicht mehr.

PPS: Was mir gerade auffällt - du arbeitest nicht zufällig mit einem ReflectionTool und nimmst fremden Code auseinander? 😕

E
Emrichm2 Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Vielen Dank für deine schnelle Antwort...

ich Arbeite denke ich nicht mit einem Reflection Tool...
Wie gesagt bin ganz neu

hab einen bestehenden Code zur Bilderkennung den ich verstehen soll und in eine neue Struktur umprogrammieren soll...

Was sind speziell diese zeilen??

[DescriptionAttribute("Area to be used for Blur Algorithm (X by X)")]
 [CategoryAttribute("Settings")]
P
1.090 Beiträge seit 2011
vor 7 Jahren

Das sieht nach Code von einem Control aus.

Die ersten beiden Zeilen sind Attribute, die dem Property bestimmte Eigenschaften geben, die wahrscheinlich im Designer verwendet werden.

MSDN:DescriptionAttribute-Klasse
MSDN:CategoryAttribute-Klasse

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

E
Emrichm2 Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Sehr ggehrte mitstrieter hat irgendjemand Ahnung was hier passiert 🤔 🤔 8o 8o 8o

{  
    Settings mySettings = new Settings();  
    bool detectionEnabled = false;  
    bool superconRunning = false;  
    Capture srcCapture = null;  
    Image<Bgr, byte> mySrcImg = null;  
    Image<Gray, byte> myMaskImg = null;  
    Image<Gray, byte> mySrcImgGray = null;  


    public Superkon()  
    {  

        InitializeComponent();  

        //Initialize settings from settings file  
        mySettings.DetectionThreshold = Properties.Settings.Default.storedDetectionThreshold;  
        mySettings.UseStandardDev = Properties.Settings.Default.storedUseStandardDev;  
        mySettings.BlurArea = Properties.Settings.Default.storedBlurArea;  
        mySettings.BasicThresholdLimit = Properties.Settings.Default.storedBasicThresholdLimit;  
        mySettings.AdaptiveThresholdLimit = Properties.Settings.Default.storedAdaptiveThresholdLimit;  
        mySettings.AdaptiveThresholdBlockSize = Properties.Settings.Default.storedAdaptiveThresholdBlockSize;  
        mySettings.EdgeTrimSize = Properties.Settings.Default.storedEdgeTrimSize;  

      

          
        try  
        {  
           // Create a capture and set resolution  

           srcCapture = new Capture(0);  
           srcCapture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_WIDTH, 3000);  
           srcCapture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, 2208);  
           //associate ProcessImage with capture Image Grabbed event.  
           srcCapture.ImageGrabbed += ProcessImage;  
        }  
        catch (NullReferenceException excpt)  
        {  
            MessageBox.Show(excpt.Message);  
        }  
        catch (Exception e)  
        {  
            MessageBox.Show(e.Message);  
        }
1
124 Beiträge seit 2012
vor 7 Jahren

Ich verstehe die Frage nicht ganz, das Programm hat doch Kommentare aus den man grob erkennen was gemacht wird.

Des Weiteren ist eine reine Interpretation ohne die Funktionsweise des komplette Programms zu kennen.

E
Emrichm2 Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Hallo,

ich meine speziell die einzelnen Befehle und Strukturen was die wiedergeben
hab im Handbuch gelesen weiss aber nicht was dieser Code darstellen soll::: 🙁

1.029 Beiträge seit 2010
vor 7 Jahren

Hallo Emrichm2,

bitte benutze die Code-Tags, wie bereits schon mal erbeten.

Wenn du nicht verstehst, was dort passiert - dann muss man dich leider bitten erst einmal ein C#-Buch zu lesen - denn deine Aufgabe können wir dir nicht abnehmen - und die Anweisungen die du hier postest sind alle recht simpel und zudem noch kommentiert.

Welchen Sinn die Anweisungen haben - das musst du herausfinden.

LG

771 Beiträge seit 2009
vor 7 Jahren

Wenn dir die Grundlagen von C# fehlen: [FAQ] Wie finde ich den Einstieg in C#?

E
Emrichm2 Themenstarter:in
5 Beiträge seit 2017
vor 7 Jahren

Super dann schau ich da mal rein Danke 👍 👍 👍 👍