Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ett problem kvar - Arv

Postades av 2007-11-13 17:28:26 - Maria Unborg, i forum c# (c-sharp), Tråden har 10 Kommentarer och lästs av 971 personer

Jag har information om tre olika personer i tre olika klasser och ska med en funktion kunna skriva ut all information om dessa tre personer. Om varje person finns ett antal olika rader med information.

t.ex.
myEmployee.DisplayEmployee(); <-- visar all information om just den personen

vet inte riktigt hur jag ska förklara det på något annat sätt tyvärr

Jag har testat på två olika sätt..
Test ett :

using System;

public class ShowProject : Employee
{public ShowProject() {}

public override void FooMethod() {}

Employee.DisplayEmployee();
//myProject.DisplayProjectname();
//myConsult.DisplayConsult();
//myEmployee.DisplayEmployee();
//myProjectemployee.DisplayPr ojectemployee();

} //avslutar class projekt

ger felmeddelande :
Invalid token '(' in class, struct, or interface member declaration
vilket då syftar på raden Employee.DisplayEmployee();

Test 2:

using System;

public class ShowProject : Employee
{public ShowProject() {}

public override void FooMethod() {}

Employee.ToString();
//myProject.DisplayProjectname();
//myConsult.DisplayConsult();
//myEmployee.DisplayEmployee();
//myProjectemployee.DisplayPr ojectemployee();

}
ger felmeddelandet:
Invalid token '(' in class, struct, or interface member declaration
vilket syftar på raden Employee.ToString();


Tacksam för svar
/Maria


Svara

Sv: Två problem: ToString och Arv

Postades av 2007-11-13 18:23:58 - Simon Dahlbacka

<b>Men jag får inte de olika koderna att fungera</b> är nog inte det felmeddelande du får och innehåller inte mycket beskrivning om vad som gick fel, men i alla fall:

?
1
2
3
public override string ToString() {
   return "Hello World";
}


återigen, lär dej beskriva problemen bättre än "det funkar inte".

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Parent {
  // ...
  public Parent() {}
 
  public virtual void FooMethod() {}
}
 
 
public class Child : Parent {
   public Child() {}
 
   public override void FooMethod() {}
}


Svara

Sv:Två problem: ToString och Arv

Postades av 2007-11-13 18:59:42 - Maria Unborg

Ber om ursäkt för de dåliga beskrivningarna, ska bättra mig, men eftersom jag hade väldigt många olika versioner var det svårt att beskriva på ett bra sätt.
Nu har jag testat denna kod:

public override string ToString()
{
return "{0};{0};{0};{0}"; employeeName; employeePay; employeeWorktime; employeeOvertimecost;
}

och får då dessa error angående employeeName, employeePay, employeeWorktime och employeeOvertimecost.

Only assignment, call, increment, decrement, and new object expressions can be used as a statement


Svara

Sv: Två problem: ToString och Arv

Postades av 2007-11-13 19:16:59 - Simon Dahlbacka

ahaa från den koden är det helt klart vad som är fel, nämligen följande rad:

?
1
return "{0};{0};{0};{0}"; employeeName; employeePay; employeeWorktime;


I c# kan du endast ha ett returvärde, och det du *antagligen* försöker göra är att returnera en formaterad sträng och då bör du använda dej av string.Format

?
1
return string.Format("{0},{1},{2},{3}", employeeName, employeePay, employeeWorktime);


sen får du fila på formatsträngen så att du får formatet du vill ha...


Svara

Sv:Två problem: ToString och Arv

Postades av 2007-11-13 19:23:41 - Maria Unborg

tack - nu försvann felmeddelandena.


Svara

Sv:Två problem: ToString och Arv

Postades av 2007-11-13 19:44:01 - Maria Unborg

Angående problem 2.
Nu har jag testat på två olika sätt..
Test ett :

using System;

public class ShowProject : Employee
{public ShowProject() {}

public override void FooMethod() {}

Employee.DisplayEmployee();
//myProject.DisplayProjectname();
//myConsult.DisplayConsult();
//myEmployee.DisplayEmployee();
//myProjectemployee.DisplayProjectemployee();

} //avslutar class projekt

ger felmeddelande :
Invalid token '(' in class, struct, or interface member declaration
vilket då syftar på raden Employee.DisplayEmployee();

Test 2:

using System;

public class ShowProject : Employee
{public ShowProject() {}

public override void FooMethod() {}

Employee.ToString();
//myProject.DisplayProjectname();
//myConsult.DisplayConsult();
//myEmployee.DisplayEmployee();
//myProjectemployee.DisplayProjectemployee();

}
ger felmeddelandet:
Invalid token '(' in class, struct, or interface member declaration
vilket syftar på raden Employee.ToString();


Svara

Sv: Två problem: ToString och Arv

Postades av 2007-11-13 19:53:01 - Simon Dahlbacka

felmeddelanden indikerar att du försöker skriva kod utanför en metod. Men vad är det du försöker åstadkomma? Din arvstruktur verkar något märklig...


Svara

Sv:Två problem: ToString och Arv

Postades av 2007-11-13 19:58:53 - Maria Unborg

Jag har information om tre olika personer i tre olika klasser och ska med en funktion kunna skriva ut all information om dessa tre personer. Om varje person finns ett antal olika rader med information.

t.ex.
myEmployee.DisplayEmployee(); <-- visar all information om just den personen

vet inte riktigt hur jag ska förklara det på något annat sätt tyvärr


Svara

Sv: Två problem: ToString och Arv

Postades av 2007-11-14 17:15:28 - Magnus Bergström

Raden

Employee.ToString();

Forsoker kora en statisk metod som heter ToString().

Vilken Employee ar det du forsoker skriva ut? Du maste kora din ToString()-metod pa ett instansierat objekt (tex myEmployee).
Var ar den specifika Employee du forsoker skriva ut info om?


Svara

Sv:Två problem: ToString och Arv

Postades av 2007-11-14 18:00:42 - Maria Unborg

Den specifika Employee finns egentligen under myEmployee som är ett nytt objekt skapat via klassen Employee


Svara

Sv: Två problem: ToString och Arv

Postades av 2007-11-22 14:10:53 - Magnus Bergström

Jag kan ha missforstatt det hela, men har kommer min mycket forenklade tolkning av hur det borde se ut:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class BaseEmployee
{
    protected string name;
    protected decimal pay;
    protected decimal worktime;
 
    public BaseEmployee(string name, decimal pay, decimal worktime)
    {
        this.name = name;
        this.pay = pay;
        this.worktime = worktime;
    }
 
    public virtual string ToString()
    {
        return name;
    }
}
 
class Employee:BaseEmployee
{
    public Employee(string name, decimal pay, decimal worktime):base(name, pay, worktime)
    {}
 
    public override string ToString()
    {
        return string.Format("{0}, {1}, {2}", name, pay.ToString("#######.00"), worktime.ToString());
    }
}
 
class Printer
{
    public static void PrintEmployee(Employee emp)
    {
        Console.WriteLine(emp.ToString());
    }
    public static void PrintEmployees(List<Employee> list)
    {
        foreach (Employee emp in list)
        {
            Console.WriteLine(emp.ToString());
        }
    }
}


Sen kallar du bara de statiska metoderna i Printer-klassen och skickar in de Employees du vill skriva ut.

Har inte riktigt forstatt varfor du vill anvanda arv..

mvh

Magnus


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
5 757
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies
Expand
next previous
Close

Previous

0/0

Next