C# uses the class statement along with opening and closing braces to indicate the beginning and end of a class definition. For example:

public class DataException : SystemException {

   // member definitions


In VB, a class definition is indicated by the Class ... End Class construct:

Public Class DataException 

   Inherits SystemException

   ' member definitions

End Class

In addition, C# classes can be marked as abstract or sealed; these correspond to the VB MustInherit and NonInheritable keywords, as shown in Table 33-2.

Table 33-2. C# and equivalent VB class modifiers

C# keyword

VB keyword





C# uses the colon to indicate either inheritance or interface implementation. Both the base class and the implemented interfaces are part of the class statement. For example:

public class DataSet : MarshalByValueComponent, IListSource,

   ISupportInitialize, ISerializable

In VB, a base class and any implemented interfaces are specified on separate lines immediately following the Class statement. A class’s base class is indicated by preceding its name with the Inherits keyword; any implemented interfaces are indicated by the Implements keyword. Hence, the previous definition of the DataSet class in C# would appear as follows in VB:

Public Class DataSet

   Inherits MarshalByValueComponent

   Implements IListSource, ISupportInitalize, ISerializable

Get ADO.NET in a Nutshell now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.