TypeDescriptionProvider.GetCache(Object) 方法

定义

获取每个对象均对应有的缓存,此缓存可作为键/值对的 IDictionary 进行访问。

public:
 virtual System::Collections::IDictionary ^ GetCache(System::Object ^ instance);
public virtual System.Collections.IDictionary GetCache (object instance);
public virtual System.Collections.IDictionary? GetCache (object instance);
abstract member GetCache : obj -> System.Collections.IDictionary
override this.GetCache : obj -> System.Collections.IDictionary
Public Overridable Function GetCache (instance As Object) As IDictionary

参数

instance
Object

要获取与其对应的缓存的对象。

返回

如果提供的对象支持缓存,则为 IDictionary;否则为 null

注解

TypeDescriptor可能需要对元数据集合执行复杂的操作。 由于在域的生命周期内不会卸载类型,因此 类 TypeDescriptor 将根据类型自动缓存这些操作的结果。 但是,某些操作使用实时对象实例。 这些操作不能缓存在 类中, TypeDescriptor 因为缓存它们会阻止对对象进行垃圾回收。 相反, TypeDescriptor 类允许每个对象的缓存(作为 IDictionary 键/值对的 访问)存在于 对象上。 方法 GetCache 返回此缓存的实例。 如果对象没有受支持的缓存,则 GetCache 方法将返回 null

使用TypeDescriptor的默认 TypeDescriptionProvider 检查 对象,以查看它是否是实现 接口的IDictionaryService站点组件。 如果对象为 ,则使用字典服务来存储对象的缓存。 否则,它返回 的对象 null。 其他类型说明提供程序可能在此处提供自己的实现。 例如,依赖对象只能附加 类型的 IDictionary属性。

适用于

另请参阅