A.2 Generische Typen
In den Bibliotheken von .NET befinden sich etliche generische Datentypen. Die beiden folgenden Listings enthalten erst die vorkommenden Namensräume und dann die Vererbungshierarchie unter Verwendung der Namensraumnummern des ersten Listings. Die recht umfangreiche Hierarchie finden Sie auf der Buch-DVD.
An der relativ komplizierten Darstellung einiger Beziehungen können Sie erahnen, warum Mehrfachvererbung in Visual Basic keine gute Idee wäre.
1: Microsoft.VisualC.StlClr 2: Microsoft.VisualC.StlClr.Generic 3: System 4: System.AddIn.Contract 5: System.AddIn.Contract.Collections 6: System.Collections 7: System.Collections.Generic 8: System.Data.Linq 9: System.Linq 10: System.ServiceModel 11: System.ServiceModel.Channels 12: System.ServiceModel.Dispatcher 13: System.Workflow.ComponentModel 4--IContract +4--IListContract(Of T) +5-+IEnumeratorContract(Of C As {IContract}) +-IEnumerableContract(Of C As {IContract}) +5-+IArrayContract(Of C As {IContract}) +ICollectionContract(Of C As {IContract}) +5--IListContract(Of C As {IContract}) 10-+ICommunicationObject | +11-+IChannelFactory | | +11--IChannelFactory(Of TChannel) | +IChannelListener | +11--IChannelListener(Of TChannel As {IChannel}) +IExtensibleObject(Of IContextChannel) +IExtensibleObject(Of IPeerNeighbor) +IExtensibleObject(Of T)}) +IExtension(Of T As {IExtensibleObject(Of T)})}) 11-+ISessionChannel(Of IInputSession) +ISessionChannel(Of TSession As {ISession}) +ISessionChannel(Of IOutputSession) +ISessionChannel(Of IDuplexSession) 13--IActivityEventListener(Of T As {EventArgs}) 3-+ICloneable | +1-+IPriorityQueue(Of TValue,TCont) | | +IQueue(Of TValue,TCont) | | +IStack(Of TValue,TCont) | +2--IBaseIterator(Of TValue) | +2-+IInputIterator(Of TValue) | | +2--IForwardIterator(Of TValue) | | +2--IBidirectionalIterator(Of TValue) | | +2--IRandomAccessIterator(Of TValue) | +IOutputIterator(Of TValue) | +2--IForwardIterator(Of TValue) | +2--IBidirectionalIterator(Of TValue) | +2--IRandomAccessIterator(Of TValue) +IComparable(Of T) +IEquatable(Of T) +----------------------------------ż +IDisposable | +4--IEnumeratorContract(Of T) | | | | 8--IFunctionResult | | | | +8------+-ISingleResult(Of T) | | | | Ú-------------------+--------------------ż | | | | | 2-+INode(Of TValue) | | | +IRandomAccessContainer(Of TValue) | | | +IBidirectionalContainer | | | | (Of TValue) | | | | | | | | +--------´ +----Ů | | | | 6-+IEnumerable | | | | | | | | | +6-ICollection | | | | | +----------+-1-+IHash(Of TKey,TValue) | | | | | +IList(Of TValue) | | | | | +ITree(Of TKey,TValue) | | | | +-------------------------------------+-1-+IDeque(Of TValue) | | | +IVector(Of TValue) | | | | | +7--IEnumerable(Of T) | | | +7--ICollection(Of T) | | | | +7-+IDictionary(Of TKey,TValue) | | | | | | +12--IMessageFilterTable(Of TFilterData) | | | | | +IList(Of T) | | | | +10--IExtensionCollection | | | | (Of T As {IExtensibleObject(Of T)})}) | | | +8--ISingleResult(Of T) | | | +9-+IGrouping(Of TKey,TElement) | | | +ILookup(Of TKey,TElement) | | | +IOrderedEnumerable(Of TElement) | | | +IQueryable(Of T) | | | +9--IOrderedQueryable(Of T) | | +9--IQueryable | | +9-+IOrderedQueryable | | | +9--IOrderedQueryable(Of T) | | +IQueryable(Of T) | | +9--IOrderedQueryable(Of T) | +IEnumerator +-------+7--IEnumerator(Of T) 7-+IComparer(Of T) +IEqualityComparer(Of T)
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.