[Mono-list] Calling a constructor from within another's code
Ian Norton
inb at ncipher.com
Tue Nov 16 15:16:39 EST 2010
Hi,
I should have explained my earlier example a bit better, Here Goes;
public class C : B
{
public C() : this( new GetDataFromTheDatabase() ) {}
private C( GetDataFromTheDatabase data ) : base( data.a, data.b ){}
}
This takes advantage of the fact that you can chain into other
constructors in your class.
Regards
Ian
On Tue, 2010-11-16 at 18:35 +0000, Francisco M. Marzoa wrote:
> Hello,
>
> I know you can call a base class constructor using ": base" after the
> new constructor signature. I.e.:
>
> public class A
> {
> int i;
> public A (int _i)
> {
> i=_i;
> }
> }
>
> public class B : A
> {
> public B (int a, int b) : base (a+b) // Calls A constructor with _i
> as _a+_b
> {
> }
> }
>
> But what happens if you should made some more complicated that cannot be
> done in that way???
>
> For example:
>
> public class C : B
> {
> public C ()
> {
> MyDataStruct data = GetDataFromTheDatabase ();
> base ( data.a, data.b ); // This will not work, indeed, but
> illustrates the idea...
> }
> }
>
> This is a question more focused on C# than in mono itself, but I hope
> not to disturb no one doing it here since the list has not very high trafic.
>
> Best regards,
> _______________________________________________
> Mono-list maillist - Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
More information about the Mono-list
mailing list