Missing a using or en assembly reference ?
Jeg har denne kode kopieret fra en bog, men kan ikke få det til at virke ! hvad er der galt ?koden er delt i to!
using System;
using System.Collections;
namespace Kundekartotek
{
public class CPerson
{
//Construktor
public CPerson(string Navn, string Adr, string Tlf)
{
navn=Navn;
adr=Adr;
tlf=Tlf;
}
//opdater : Virtuel metode (overrides i CKunde)
virtual public void Opdater(string Navn, string Adr, string Tlf)
{
navn=Navn;
adr=Adr;
tlf=Tlf;
}
//Property :navn
protected string navn;
public string Navn
{
get
{
return navn;
}
}
//Property :adr
protected string adr;
public string Adr
{
get
{
return adr;
}
}
//Property :navn
protected string tlf;
public string Tlf
{
get
{
return tlf;
}
}
public class CKunde : CPerson
{
private static int KundeID=0;
//Constructor
public CKunde(string Navn, string Adr, string Tlf) : base(Navn, Adr, Tlf)
{
iD=KundeID++;
}
//Opdater:Overridet metode, som opdatere kundedata
override public void Opdater(string Navn, string Adr, string Tlf)
{
//kald metode i CPerson
base.Opdater(Navn, Adr, Tlf);
}
//Property:ID
private int iD;
public int ID
{
get {return ID;}
}
}
public class CKundekartotek
{
//Constructor
public CKundekartotek()
{
arrKunder = new ArrayList();
KundePegepind = 0;
}
//Ny kunde: opret ny kunde
public void NyKunde(string Navn, string Adr, string Tlf)
{
try
{
CKunde MinKunde = new CKunde(Navn, Adr, Tlf);
arrKunder.Add(MinKunde);
}
catch(Exception)
{
throw;
}
}
//OpdaterKunde : opdaterer kundens stamdata
public void OpdaterKunde(int ID, string Navn, string Adr, string Tlf)
{
try
{
CKunde MinKunde = FindKunde(ID);
MinKunde.Opdater(Navn, Adr, Tlf);
}
catch(Exception)
{
throw;
}
}
//Slet Kunde : Sletter en Kunde
public void SletKunde(int ID)
{
try
{
CKunde MinKunde;
MinKunde=FindKunde(ID);
arrKunder.Remove(MinKunde);
}
catch(Exception)
{
throw;
}
}
//Find kunde : finder en kunde baseret på Kunde ID
private CKunde FindKunde(int ID)
{
bool bStopIteration = false;
CKunde MinKunde = null;
IEnumerator MinEnumerator = arrKunder.GetEnumerator();
while( MinEnumerator.MoveNext() && bStopIteration == false)
{
MinKunde = (CKunde) MinEnumerator.Current;
if(MinKunde.ID == ID)
bStopIteration =true;
}
if(bStopIteration == true)
return MinKunde;
else
throw new CKartoteksException("Kunde Findes ikke");
}
private int KundePegepind;
//FoersteKunde : sæt pegepind til første kunde og returner denne
public CKunde FoersteKunde()
{
KundePegepind = 0;
if(arrKunder.Count == 0)
return null;
else
return((CKunde) arrKunder[KundePegepind]);
}
//NaesteKunde :sæt pegepind til næstekunde og returner denne
public CKunde NaesteKunde()
{
++KundePegepind;
if (KundePegepind >= arrKunder.Count)
{
--KundePegepind;
return null;
}
return((CKunde) arrKunder[KundePegepind]);
}
//array af kunder
private ArrayList arrKunder;
}
public class CKartoteksException : ApplicationException
{
public CKartoteksException():base(){}
public CKartoteksException(string massage):base(massage){}
public CKartoteksException(string message, Exception inner):
base(message, inner){}
}
}
}
OG denne kode !
using System;
using Kundekartotek;
namespace Superkartoteket
{
class CSuperkartoteket
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
//Lav ny instans af kundekartoteket
CKundekartotek kk = new CKundekartotek();
bool bAfslut = false;
string Navn, Adr, Tlf, strID;
int ID;
do
{
//Vis menu
Console.WriteLine("\n***Menu***");
Console.WriteLine("1) Opret Kunde");
Console.WriteLine("2) Opdater Kundedata");
Console.WriteLine("3) Slet Kunde");
Console.WriteLine("a) Afslut");
//Aflæs menuvalg
Console.WriteLine("Valg:");
string valg = Console.ReadLine();
//Indsæt linieskift mellem valg og operation
Console.WriteLine("\n");
try
{
switch(valg)
{
case "1":// Opret ny kunde
Console.WriteLine("-->Opretter kunde");
Console.Write("Navn: ");
Navn = Console.ReadLine();
Console.Write("Adr :");
Adr = Console.ReadLine();
Console.Write("Tlf: ");
Tlf = Console.ReadLine();
kk.NyKunde(Navn, Adr, Tlf);
break;
case "2": // Opdater kundedata
Console.WriteLine("-->Opdater kundedata");
Console.Write("ID på kunde som skal opdateres: ");
strID=Console.ReadLine();
ID=Convert.ToInt32(strID, 10);
Console.Write("Navn: ");
Navn = Console.ReadLine();
Console.Write("Adr :");
Adr = Console.ReadLine();
Console.Write("Tlf: ");
Tlf = Console.ReadLine();
kk.OpdaterKunde(ID, Navn, Adr, Tlf);
break;
case "3": //Slet kunde
Console.WriteLine("-->Sletter Kunde");
Console.Write("ID på kunde som skal slettes:");
strID=Console.ReadLine();
ID=Convert.ToInt32(strID, 10);
kk.SletKunde(ID);
break;
case "4": // Vis kunder
Console.WriteLine("-->Viser kunder");
Console.WriteLine("{0,-5}{1,-25}{2,-35}{3,-8}", "ID",
"Navn", "Adr", "Tlf");
CKunde MinKunde;
MinKunde=kk.FoersteKunde();
while(MinKunde!=null)//sålænge der er kunder
{
Console.WriteLine("{0,-5}{1,-25}{2,-35}{3,-8}",
MinKunde.ID,
MinKunde.Navn,
MinKunde.Adr,
MinKunde.Tlf);
MinKunde=kk.NaesteKunde();
}
break;
case "a":// Afslut
bAfslut=true;
break;
}
}
catch (Exception e)
{
Console.Error.WriteLine(e.Message);
}
}while(bAfslut==false);// indtil der er vlagt afslut i menuen
}
}
}
