IVsProvideTargetedToolboxItems.GetInstanceOfExistingTypeForNewFramework 方法

定义

将有关现有包的信息传递给要添加的包。

public:
 int GetInstanceOfExistingTypeForNewFramework(Microsoft::VisualStudio::OLE::Interop::IDataObject ^ pExistingItem, System::String ^ szNewTFM, Microsoft::VisualStudio::Shell::Interop::IVsAddToolboxItems ^ pAdder);
public:
 int GetInstanceOfExistingTypeForNewFramework(Microsoft::VisualStudio::OLE::Interop::IDataObject ^ pExistingItem, Platform::String ^ szNewTFM, Microsoft::VisualStudio::Shell::Interop::IVsAddToolboxItems ^ pAdder);
int GetInstanceOfExistingTypeForNewFramework(Microsoft::VisualStudio::OLE::Interop::IDataObject const & pExistingItem, std::wstring const & szNewTFM, Microsoft::VisualStudio::Shell::Interop::IVsAddToolboxItems const & pAdder);
public int GetInstanceOfExistingTypeForNewFramework (Microsoft.VisualStudio.OLE.Interop.IDataObject pExistingItem, string szNewTFM, Microsoft.VisualStudio.Shell.Interop.IVsAddToolboxItems pAdder);
abstract member GetInstanceOfExistingTypeForNewFramework : Microsoft.VisualStudio.OLE.Interop.IDataObject * string * Microsoft.VisualStudio.Shell.Interop.IVsAddToolboxItems -> int
Public Function GetInstanceOfExistingTypeForNewFramework (pExistingItem As IDataObject, szNewTFM As String, pAdder As IVsAddToolboxItems) As Integer

参数

pExistingItem
IDataObject

IDataObject 带有 ID 相同的提供程序的信息。

szNewTFM
String

中新的 TFM (目标框架名字对象) 。

pAdder
IVsAddToolboxItems

IVsAddToolboxItems 用于向工具框添加项的。

返回

Int32

如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。

注解

假设有一组工具箱项具有相同的类型名称、程序集名称 (忽略版本差异) 和框架 ID (框架 ID 是 TFM 的第一个组件,例如 "。.Netframework "中的" TFM "。.Netframework,Version = v4.0,Profile = Client ") 根据它们的" TypeName "AssemblyName" 和 "Framework" 多定向字符串映射字段, (尽管某个项可能支持多个框架,但项支持的所有框架必须具有相同的 ID。 ) 例如,可能存在: TypeName = b77a5c561934e089,Version = 2.0.0.0,Culture = 中立,PublicKeyToken = Framework = "。.Netframework,Version = v2.0;。.Netframework,Version = v4.0 和: TypeName = ButtonAssemblyName = System.web,Version = 4.0.0.0,Culture = 中立,PublicKeyToken = b77a5c561934e089Frameworks =。.Netframework,Version = v4.0,工具箱了解集中的所有项都表示 "相同" 类型。 让我们将这种设置称为 "唯一类型集"。 对于每个唯一类型集,如果活动的设计器属于目标为该框架版本的项目,而该唯一类型集中的项不支持此方法,但之前未调用此方法,则工具箱将调用此方法。 如果唯一类型集内的任何项支持的框架版本低于项目的框架,则将是具有最高版本的版本的框架, pExistingItem 否则,如果没有支持 TFM 版本号低于新 TFM 的现有项,则它是支持具有相同 ID 的最低版本的 TFM 的项。 调用此方法的包是由的多目标元数据标识的包 pExistingItem 。 包应使用 IVsDataObjectStringMapManager 来检查元数据。 此方法实现应使用 pAdder 执行下列操作之一:

  1. 如果没有支持给定 TFM 的相同类型的项 pExistingItem ,请勿 pAdder 在所有 (调用,但仍返回 S_OK) 。

  2. 如果现有的项应与给定的 TFM 一起使用,请使用 pAdder 添加现有项。 工具箱将识别出您并未真正创建新项,而只是更新框架以支持现有项。 在这种情况下,将忽略的方法的项信息、项 ID、选项卡名称和包 GUID 参数 IVsAddToolboxItems

  3. 如果新框架包含此类型的新实现,则创建一个新的工具箱项并使用 pAdder 添加它。 为此对象设置多目标元数据是可选的。 如果未设置类型名称、程序集名称或项提供程序 GUID,则将从现有项复制它们。 如果未设置框架列表,则该列表将设置为 szNewTFM ; 如果设置了框架列表但不包含,则会将其 szNewTFM szNewTFM 添加到其中。 当调用 IVsAddToolboxItems 方法来添加新项时,您可以为选项卡名称传递 NULL 或空字符串,以指示该项应放置在与现有项相同的选项卡上。

适用于