Jon Jagger
jon@jaggersoft.com
Table of Contents 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 Notes DownloadECMA-334 C# Language Specificationpreviousnextprevious at this levelnext at this level 17 Classesprevious at this levelnext at this level 17.10 Instance constructorsprevious at this levelnext at this level 17.10.4 Default constructors Paragraph 11 If a class contains no instance constructor declarations, a default instance constructor is automatically provided. 2 That default constructor simply invokes the parameterless constructor of the direct base class. 3 If the direct base class does not have an accessible parameterless instance constructor, a compile-time error occurs. 4 If the class is abstract then the declared accessibility for the default constructor is protected. 5 Otherwise, the declared accessibility for the default constructor is public. [Note: Thus, the default constructor is always of the form
protected C(): base() {}  
or
public C(): base() {}  
where C is the name of the class. end note]
[Example: In the example
class Message  
{  
   object sender;  
   string text;  
}  
a default constructor is provided because the class contains no instance constructor declarations. Thus, the example is precisely equivalent to
class Message  
{  
   object sender;  
   string text;  
   public Message(): base() {}  
}  
end example]
{ JSL }
Jagger Software Ltd
Company # 4070126
VAT # 762 5213 42
Valid HTML 4.01Valid CSS