.NET Terminology
A namespace is a way to group identifiers. A namespace can contain other namespaces. In MATLAB®, a .NET type is a class.
The syntax namespace.ClassName
is known as a fully
qualified name.
.NET System Namespace
System
is the root namespace for fundamental types in the .NET
Base Class Library (BCL). This namespace also contains classes (for example,
System.String
and System.Array
) and
second-level namespaces (for example,
System.Collections.Generic
). The system
assembly contains many, but not all System
namespaces. For
example, to use classes in the System.Xml
namespace, load the
system.xml
assembly using the
NET.addAssembly
command. Refer to the Microsoft® .NET API browser to learn what assembly to use for a specific
namespace.
Reference Type Versus Value Type
Objects created from .NET classes (for example, the
System.Reflection.Assembly
class) appear in MATLAB as reference types, or handle objects. Objects
created from .NET structures (for example, the System.DateTime
structure) appear as value types. You use the same
MATLAB syntax to create and access members of classes and structures.
However, handle objects are different from value objects. When you copy a handle object, only the handle is copied, and both the old and new handles refer to the same data. When you copy a value object, the object data is also copied, and the new object is independent of changes to the original object. For more information about these differences, see Copying Objects.
Do not confuse an object created from a .NET structure with a MATLAB structure array (see Structures). You cannot pass a structure array to a .NET method.