共用方式為


ServiceCollection<T> Class

Represents a collection of services.

Inheritance Hierarchy

Object
  Dictionary<Type, T>
    Microsoft.VisualStudio.Shell.ServiceCollection<T>

Namespace:  Microsoft.VisualStudio.Shell
Assembly:  Microsoft.VisualStudio.Shell.12.0 (in Microsoft.VisualStudio.Shell.12.0.dll)

Syntax

'Declaration
Public Class ServiceCollection(Of T) _
    Inherits Dictionary(Of Type, T)
public class ServiceCollection<T> : Dictionary<Type, T>
generic<typename T>
public ref class ServiceCollection : public Dictionary<Type^, T>
type ServiceCollection<'T> =  
    class 
        inherit Dictionary<Type, 'T>
    end
JScript does not support generic types or methods.

Type Parameters

  • T
    The type of the collection.

The ServiceCollection<T> type exposes the following members.

Constructors

  Name Description
Public method ServiceCollection<T> Initializes a new instance of T[:Microsoft.VisualStudio.Shell.ServiceCollection`1.]

Top

Properties

  Name Description
Public property Comparer Gets the IEqualityComparer that is used to determine equality of keys for the dictionary. (Inherited from Dictionary<Type, T>.)
Public property Count Gets the number of key/value pairs contained in the Dictionary. (Inherited from Dictionary<Type, T>.)
Public property Item Gets or sets the value associated with the specified key. (Inherited from Dictionary<Type, T>.)
Public property Keys Gets a collection containing the keys in the Dictionary. (Inherited from Dictionary<Type, T>.)
Public property Values Gets a collection containing the values in the Dictionary. (Inherited from Dictionary<Type, T>.)

Top

Methods

  Name Description
Public method Add Adds the specified key and value to the dictionary. (Inherited from Dictionary<Type, T>.)
Public method Clear Removes all keys and values from the Dictionary. (Inherited from Dictionary<Type, T>.)
Public method ContainsKey Determines whether the Dictionary contains the specified key. (Inherited from Dictionary<Type, T>.)
Public method ContainsValue Determines whether the Dictionary contains a specific value. (Inherited from Dictionary<Type, T>.)
Public method Equals Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetEnumerator Returns an enumerator that iterates through the Dictionary. (Inherited from Dictionary<Type, T>.)
Public method GetHashCode Serves as the default hash function. (Inherited from Object.)
Public method GetObjectData Security Critical. Implements the ISerializable interface and returns the data needed to serialize the Dictionary instance. (Inherited from Dictionary<Type, T>.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method OnDeserialization Implements the ISerializable interface and raises the deserialization event when the deserialization is complete. (Inherited from Dictionary<Type, T>.)
Public method Remove Removes the value with the specified key from the Dictionary. (Inherited from Dictionary<Type, T>.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method TryGetValue Gets the value associated with the specified key. (Inherited from Dictionary<Type, T>.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method System#Collections#Generic#ICollection{T}#Add Adds the specified value to the ICollection with the specified key. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#IDictionary#Add Adds the specified key and value to the dictionary. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#Generic#ICollection{T}#Contains Determines whether the ICollection contains a specific key and value. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#IDictionary#Contains Determines whether the IDictionary contains an element with the specified key. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#Generic#ICollection{T}#CopyTo Copies the elements of the ICollection to an array of type KeyValuePair, starting at the specified array index. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#ICollection#CopyTo Copies the elements of the ICollection to an array, starting at the specified array index. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#Generic#IEnumerable{T}#GetEnumerator Returns an enumerator that iterates through the collection. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#IEnumerable#GetEnumerator Returns an enumerator that iterates through the collection. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#IDictionary#GetEnumerator Returns an IDictionaryEnumerator for the IDictionary. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#IDictionary#IsFixedSize Gets a value indicating whether the IDictionary has a fixed size. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#Generic#ICollection{T}#IsReadOnly Gets a value indicating whether the dictionary is read-only. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#IDictionary#IsReadOnly Gets a value indicating whether the IDictionary is read-only. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#ICollection#IsSynchronized Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#IDictionary#Item Gets or sets the value with the specified key. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#Generic#IDictionary{TKey@TValue}#Keys Gets an ICollection containing the keys of the IDictionary. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#IDictionary#Keys Gets an ICollection containing the keys of the IDictionary. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#Generic#ICollection{T}#Remove Removes a key and value from the dictionary. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate method System#Collections#IDictionary#Remove Removes the element with the specified key from the IDictionary. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#ICollection#SyncRoot Gets an object that can be used to synchronize access to the ICollection. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#Generic#IDictionary{TKey@TValue}#Values Gets an ICollection containing the values in the IDictionary. (Inherited from Dictionary<Type, T>.)
Explicit interface implemetationPrivate property System#Collections#IDictionary#Values Gets an ICollection containing the values in the IDictionary. (Inherited from Dictionary<Type, T>.)

Top

Remarks

Use this collection to store the mapping from the type of a service to the object that provides it in a way that is aware of embedded types. The comparer for this collection performs a comparison of the GUID properties of the Type key instead of doing a reference comparison, which will fail in type-embedding scenarios.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.Shell Namespace