The .NET Type System
So what does a type look like in .NET? In many respects, types are very similar to C++ classes: just like a C++ class, a .NET type is a collection of members, which may be fields (i.e., they hold data of some type), methods (i.e., they contain code), or nested type definitions, and all members have some level of protection (e.g., public, private, protected). However there are a number of differences between the C++ and the .NET type systems. The following sections describe the main features of types in .NET.
Members of Types
Any type will need to define some members to be of any use. Members are either associated with data or behavior. In C++ this means fields and methods, respectively. In addition to these, which the CLR supports, the CLR adds some new member types. All these member types are described here.
Methods
Methods are
where we define code. In most .NET languages, all code must be
defined in a method of some type. (Because properties also can
contain code, they would appear to be an exception, but they are
actually implemented by .NET language compilers as method calls.) As
with C++, the method must have a
signature (consisting of its name and the
types of parameters it takes), and that signature must be different
from any other methods defined in the same class.
Overloading is allowed, i.e., the names
of two methods can be the same if their signatures are different.
Methods must also have a
return type (even if the method returns
void or Nothing ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access