none
(C#) 'ConsoleApplication5.Koordinaten' enthält keinen Konstruktor, der 3-Argumente akzeptiert. RRS feed

  • Frage

  • Hallo,

    Ich habe mir das programmiert:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication5
    {
        class Program
        {
            static void Main(string[] args)
            {
                Koordinaten a = new Koordinaten(3,2);
            }
        }
        public class Koordinaten {
            public int PosX;
            public int PosY;
        }
    }

    Da kam dieser Fehler 'ConsoleApplication5.Koordinaten' enthält keinen Konstruktor, der 3-Argumente akzeptiert. 

    Ich wollte nur dass PosX und PosY in den Parameter also in Objekt gesetzt werden soll.

    Kann mir jemand helfen?

    Danke

    Donnerstag, 25. Dezember 2014 20:21

Antworten

  • Wenn du keinen passenden Konstruktor erstellt, ist das eine normale Warnung.

    Die einfachste Lösung wäre:

    Koordinaten k = new Koordinaten() { 
    PosX = 1,
    PosY = 2
     };
    

    Wenn es ein Konstruktor sein muss, dann geht es so:

     public Koordinaten(int x, int y) {
                this.PosX = x;
                this.PosY = y;
            }
    //in der Struktur unterhalb der Variablen!
    Wenn dir die Antwort geholfen hat, dann markiere Sie ;)


    © 2015 Thomas Roskop

    Donnerstag, 25. Dezember 2014 20:39
  • this ist ein schlüsselwort und verweist auf sich selbst. 

    Es gilt:

    class B {
       private int value;
    
       void Do() {
           value = 5;
        
       }
    
       void Do2() {
           this.value = 5;
        
       }
    }

    Egal was, do() und do2() bewirken das selbe. 

    This ist quasi eine Information, dass das aktuelle Objekt gemeint ist, ein verweis auf sich selbst.

    Hier der MSDN Artikel dazu: http://msdn.microsoft.com/de-de/library/dk1507sz.aspx


    © 2015 Thomas Roskop

    Donnerstag, 25. Dezember 2014 20:52

Alle Antworten

  • Wenn du keinen passenden Konstruktor erstellt, ist das eine normale Warnung.

    Die einfachste Lösung wäre:

    Koordinaten k = new Koordinaten() { 
    PosX = 1,
    PosY = 2
     };
    

    Wenn es ein Konstruktor sein muss, dann geht es so:

     public Koordinaten(int x, int y) {
                this.PosX = x;
                this.PosY = y;
            }
    //in der Struktur unterhalb der Variablen!
    Wenn dir die Antwort geholfen hat, dann markiere Sie ;)


    © 2015 Thomas Roskop

    Donnerstag, 25. Dezember 2014 20:39
  • Was bedeutet this.?
    Donnerstag, 25. Dezember 2014 20:40
  • this ist ein schlüsselwort und verweist auf sich selbst. 

    Es gilt:

    class B {
       private int value;
    
       void Do() {
           value = 5;
        
       }
    
       void Do2() {
           this.value = 5;
        
       }
    }

    Egal was, do() und do2() bewirken das selbe. 

    This ist quasi eine Information, dass das aktuelle Objekt gemeint ist, ein verweis auf sich selbst.

    Hier der MSDN Artikel dazu: http://msdn.microsoft.com/de-de/library/dk1507sz.aspx


    © 2015 Thomas Roskop

    Donnerstag, 25. Dezember 2014 20:52
  • Achso Ok,

    Danke

    Donnerstag, 25. Dezember 2014 20:53