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 A-2.
C# keyword |
VB keyword |
---|---|
abstract |
MustInherit |
sealed |
NonInheritable |
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, the base class and any implemented interfaces are specified on separate lines immediately following the Class statement. A classs 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