Toon posts:

[Asp.Net] Hoe classes te extenden

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste Tweakers,

Ik genereer doormiddel van een eigen geschreven tool classes. Maar stel dat ik wat custom functies schrijf in die classen en opnieuw een generatie doe moet ik met de hand mijn eigen wijzigingen toevoegen. Op welke manier kan ik dat voorkomen? Hieronder een voorbeeld class die ik wil uitbreiden zonder dat ik deze overschrijf, dus een extra class die de orginele uitbreid.

code:
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
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;


public class content
{
           private int _ContentID;
           private string _HtmlData;
           private string _CleanData;
           private DateTime _CreationDate;


           public int ContentID
           {
              get{return _ContentID;}
              set{_ContentID = value;}
           }

           public string HtmlData
           {
              get{return _HtmlData;}
              set{_HtmlData = value;}
           }

           public string CleanData
           {
              get{return _CleanData;}
              set{_CleanData = value;}
           }

           public DateTime CreationDate
           {
              get{return _CreationDate;}
              set{_CreationDate = value;}
           }
}

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

C#:
1
2
public class Bladie : content
{}


?
Maak dan wel je instance vars protected.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 19:13
Zijn heel veel opties voor te bedenken:
- partial classes
- regions
- subclassing
- etc

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Tip: Begin even met een windows application en kijk dan even hoe een en ander in Visual Studio is geregeld.
Vergeet daarbij niet in de solution explorer ervoor te zorgen dat alle bestanden zichtbaar zijn.

[ Voor 3% gewijzigd door Niemand_Anders op 05-11-2008 13:17 ]

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt mensen. Ik ben eruit! De oplossing is partial classes werkt super!(bedankt Daspeed)

Om even een voorbeeld te geven van mijn oplossing:

AIPlayer.cs

code:
1
2
3
4
5
6
7
public partial class AIPlayer
{
  public AIPlayer()
  {
    // Construct your class here.
  }
}

AIPlayer.Extended.cs

code:
1
2
3
4
5
6
7
public partial class AIPlayer
{     
  public Move GetMove()
  {
    // Choose the best move and return it.
  }
}


Dus als je nu een instance maakt van AIPlayer dan heb je beide functies beschikbaar.

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Daspeed schreef op woensdag 05 november 2008 @ 13:09:
Zijn heel veel opties voor te bedenken:
- partial classes
- regions
- subclassing
- etc
Partial classes is wel de enige juiste hiervoor denk ik :)

Ask yourself if you are happy and then you cease to be.

Pagina: 1