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.