Multidesk.be » Forums » .Net » steeds een fout in mijn classe

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Toren op maandag 1 december 2008 om 12:38:19.
Toren heeft nog geen avatar toegevoegd
Multiviteit: 230
wat doe ik nu verkeerd ??
hij zegt altijd => Error 1 'Persoon': member names cannot be the same as their enclosing type C:\Documents and Settings\jan.ATCOMM\Mijn documenten\Visual Studio 2008\Projects\Cal_leeftijd\Cal_leeftijd\Persoon.cs
CODE
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Cal_leeftijd
  7. {
  8.     class Persoon
  9.     {
  10.         private DateTime _geboorte;
  11.         private string _naam;
  12.  
  13.         public void Persoon(DateTime geboorte)
  14.         { _geboorte = geboorte; }
  15.  
  16.         public string Naam
  17.         {
  18.             get{  return _naam;  }
  19.             set{  _naam = naam;  }
  20.         }
  21.  
  22.         public DateTime geboorte
  23.         {
  24.            set
  25.            { return _geboorte; }
  26.         }
  27.  
  28.         public int calLeeftijd()
  29.         {
  30.             int YearsPassed = DateTime.Now.Year - _geboorte.Year; // Are we before the birth date this year? If so subtract one year from the mix
  31.  
  32.             if (DateTime.Now.Month < _geboorte.Month || (DateTime.Now.Month == _geboorte.Month && DateTime.Now.Day < _geboorte.Day))
  33.             {
  34.                YearsPassed--;
  35.             }
  36.  
  37.            return YearsPassed;
  38.         }
  39.     }
  40. }

Opmerking van de crew

Even de code tag toegepast voor de overzichtelijkheid ;)
SMG
Deze tekst werd het laatst bewerkt voor 0.78 % door SMG op maandag 1 december 2008 om 12:45:20.
^ Reactie #1 geschreven door Toren op maandag 1 december 2008 om 13:08:08.
Toren heeft nog geen avatar toegevoegd
Multiviteit: 230
heb het dan zo toegepast.
alhoewel de constructor toch dezelfde naam moet hebben ?
CODE
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Cal_leeftijd
  7. {
  8.     class Persoon
  9.     {
  10.         private DateTime _geboorte;
  11.         private string _naam;
  12.  
  13.         public void myPersoon(DateTime geboorte)
  14.         { _geboorte = geboorte; }
  15.  
  16.         public string naam
  17.         {
  18.             get{  return _naam;  }
  19.             set{  _naam = value;  }
  20.         }
  21.  
  22.         public DateTime geboorte
  23.         {
  24.            get
  25.            { return _geboorte; }
  26.         }
  27.  
  28.         public int calLeeftijd(DateTime birth)
  29.         {
  30.             int YearsPassed = DateTime.Now.Year - _geboorte.Year; // Are we before the birth date this year? If so subtract one year from the mix
  31.  
  32.             if (DateTime.Now.Month < _geboorte.Month || (DateTime.Now.Month == _geboorte.Month && DateTime.Now.Day < _geboorte.Day))
  33.             {
  34.                YearsPassed--;
  35.             }
  36.  
  37.            return YearsPassed;
  38.         }
  39.     }
  40. }

Opmerking van de crew

Even code tags toegepast zodat het overzichtelijker wordt ;)
SMG
Deze tekst werd het laatst bewerkt voor 0.78 % door SMG op maandag 1 december 2008 om 13:11:36.
^ Reactie #2 geschreven door Merijn op maandag 1 december 2008 om 15:16:38.
Merijn's avatar
Multiviteit: 300
Ik denk dat het gewoon

public Persoon(DateTime g){
...
}

moet zijn, ipv

public void Persoon(DateTime g){
...
}.

Als constructor natuurlijk.

Nu maak je gewoon een methode aan die je nooit zal moeten gebruiken.

Btw: in je constructor beter je setter gebruiken. (of property in c#)

Maar het is al enkele maanden geleden ;)
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen