Article View: borland.public.csharpbuilder.language.csharp
Article #395inherited / constructors : best code ?
From: OD
Date: Thu, 21 Jul 2005 21:47
Date: Thu, 21 Jul 2005 21:47
56 lines
3242 bytes
3242 bytes
Hi all,
I've got a coding problem and I'll appreciate your advise :
I used to add multiple constructors in classes with different
paremeters. Each new constructor is calling the preceding (with one
less parameter). That's right and avoid rewritting same inits :
public class A
{
public A()
{
// init here
}
public A(int param):this()
{
// use "param",
// init is already done calling ":this()"
}
}
This is fine, till I create a new class inherited from the first one.
The problem is shown below :
public class B : A
{
public class B():base() // Problem 1
{
// init just what B adds to A
// since i'm calling ":base()"
}
public class B(int param):this() // Problem 2
{
// init problem....
}
}
Problem 1 : is using ":base()" correct ?
Problem 2, the worst : this constructor can call either ":this()" or
":base(param)".
In the first case I lose the init of the parameter (done in A class),
in the second case I lose local init of class B done in the first
constructor...
What is the best construction ? Is there some "best practices" or
coding patterns for such a situation ?
Thanks in advance for ideas you'll bring..
--
Olivier Dahan
MK Query Builder
www.e-naxos.com
Technical Details
Message-ID:
<mn.ad937d57748784b9.18651@0e-naxos.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.moat.net!news-out.newsfeeds.com!propagator3-LAX.newsfeeds.com!news-in.spamkiller.net!news-in.superfeed.net!caladan.landsraad.net!newsgroups.borland.com!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: 1efe35,40a1073c2533bd08,start X-Google-Attributes: gid1efe35,public X-Google-Language: ENGLISH,ASCII-7-bit Subject: inherited / constructors : best code ? From: "OD" <OD[.@.]e-naxos.com> Newsgroups: borland.public.csharpbuilder.language.csharp Message-ID: <mn.ad937d57748784b9.18651@0e-naxos.com> Organization: www.e-naxos.com X-Newsreader: MesNews/1.04.00.00 Date: Thu, 21 Jul 2005 23:47:34 +0200 MIME-Version: 1.0 Face: iVBORw0KGgoAAAANSUhEUgAAAC4AAAApBAMAAAHPlTYqAAAAB3RJTUUH0wwfAAI7FsnlTwAAA AlwSFlzAAALEgAACxIB0t1+/AAAAARnQU1BAACxjwv8YQUAAAAVUExURczMzP///5mZmWZmZjNmZpm ZzAAzM6IOup8AAAIwSURBVHjaXVOxkuMgDBV46eH20hMBqb0W6XeM4toh462vyOT/P+EEzm5uDmeGe Y8nCT0RwA8CrAPoLwLNAeA3AAwaAhD4cYB1IbgywXrRoCcE9ADvBPV4eowSceQSCMwxRR1AgdfeA5J S9EeUFt4/AYFhGGVb7rJVON3fR9BmnjtiJg/G10Cj1N0ukh1gHaHtb60WIp2dA2spSxJE60DqDNSAt /HxuI8N1Cf4aEDQYeU7IzWg0yFm5htNvYTNcnLb663qxuHse4wsFT8RvtfABXu7GIi8lCXqRcMHgJM LdDA5Z6Ed9evI1cCqHRxtxBVs6EAd+PHg6/AC92uTbXh9gYpHwOXB6w682ZZSbl1WjzpypmGP8Zo5c +jNGf+L47L3Y6o/8InnQKE3Z8+1XgSIi9VD5ItUD91g9YYyTuguS47ox5+2Reh125QApBk0+h3oLNP FZoisEGhSIN1b5bQ4k6k8ee+UyJUVl3Tjc+fRK+X6HMVJcSUT7TxYMJtJvXbPJG+rya0zgZflXqis8 ORr89gdolgmpvFZ/c8vT3744VE5U5/65ELn19R4u0WWgIIp9TTyihu/ih7nOE/blsLO90TKGuZZPuZ ET74FXO3A+yo/eqNlfE7008Ly2FKYSL42ktT4XFIszBdN+M2LXlnctii/BAEphNAmU5srJkYuc2oDk wG+XqjT7TJGCA3/rqS2bb1JXi+T8y9+wAlz8Vpr+Z+K832qbbAp54JCypE48Bf1mYlrJKOvfwAAAAB JRU5ErkJggg== Plugin-EXIF: J'utilise schexif de Chasta (http://www.chasta.com/fr/plugin.htm) Content-Type: text/plain; format=flowed Content-Transfer-Encoding: 8bit NNTP-Posting-Host: 83.193.5.138 X-Trace: newsgroups.borland.com 1121982452 83.193.5.138 (21 Jul 2005 14:47:32 -0700) Lines: 58 Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.moat.net!news-out.newsfeeds.com!propagator3-LAX.newsfeeds.com!news-in.spamkiller.net!news-in.superfeed.net!caladan.landsraad.net!newsgroups.borland.com!not-for-mail