Microsoft .Net
Sven Groot
Common Language Runtime
Superset of ECMA Common Language Infrastructure
DefinesLanguage-neutral platform Intermediate LanguageDeployment file format (assemblies)Extensible metadataCOM/Platform interop
Common Type System
Object
String array class MarshalByRefObject
ValueType
Enum struct
enum
Boolean, Byte, Int16, Int32, Int64, Char, Decimal, Guid, Single, DOuble, DateTime, TimeSpan
class ContextBoundObject
class
Interface
Common Type System (cont’d)
One class can implement multiple interfacesinterface IShape { void Draw();}interface ICowboy { void Draw();}class CowboyShape : Ishape, ICowboy { void IShape.Draw() { … } void ICowboy.Draw() { … }}
Common Type System (cont’d)
Also defines conventions for namingProperty get/set (property Foo get_Foo,
set_Foo) No exception specifications Delegates
Language Independance
Common Type System vs. Common Language Specification
Microsoft supported languages: C# (ECMA) Visual Basic .Net Managed C++ J# JScript.Net
Plus over 40 third-party languages
Assemblies
Similar to Java package Can be one or multiple files Contain
Manifest Modules (code) Resources
Satellite assemblies for localised resources Strongly named
Strong name = (publisher token, assembly name, version vector, culture)
Common Language Frameworks
System System.Collections, System.Collections.Specialised System.Reflection, System.Reflection.Emit System.Security (cryptography, permissions) System.Text (regular expressions, encodings) System.Threading System.Configuration System.Globalization System.Resources System.Management System.Drawing System.Runtime.InteropServices System.ServiceProcess System.Data System.DirectoryServices
Common Language Frameworks
System.EnterpriseServices System.IO System.Messaging System.Runtime.Remoting System.Runtime.Serialization System.Diagnostics System.CodeDom System.Runtime.CompilerServices System.Web System.Net System.Xml System.ComponentModel System.Web.UI System.Windows.Forms
More resources
http://msdn.microsoft.com/netframework/ http://www.gotdotnet.com http://www.liacs.nl/~sgroot/cbse/