Převod mezi systémovými typy projektů SharePoint a jinými typy projektů Visual Studio
V některých případech můžete mít objekt v systému projektu SharePoint a chcete používat funkce odpovídajícího objektu v modelu automatizačních objektů nebo modelu integračních objektů sady Visual Studio, nebo naopak.V těchto případech je možné použít metodu Convert<TInput, TOutput> projektu služby SharePoint, která má převést objekt na jiný objektový model.
Například můžete mít objekt ISharePointProject, ale chcete použít metody, které jsou k dispozici pouze na objektu EnvDTE.Project nebo Microsoft.VisualStudio.Shell.Interop.IVsProject.V takovém případě je možné pomocí metody Convert<TInput, TOutput> převést ISharePointProject na EnvDTE.Project nebo Microsoft.VisualStudio.Shell.Interop.IVsProject.
Další informace o modelu automatizačních objektů sady Visual Studio a modelu integračních objektů sady Visual Studio naleznete v tématu Přehled programovací Model rozšíření nástroje služby SharePoint.
Typy převodů
V následující tabulce jsou uvedeny typy, které tato metoda může převést mezi systémem projektu služby SharePoint a jinými objektovými modely Visual Studio.
Typ systému projektu služby SharePoint |
Odpovídající typy v modelech objeků automatizace a integrace |
---|---|
nebo Každé rozhraní v objektovém modelu aplikace Visual Studio integrace implementované základní objekt modelu COM pro projekt.Tato rozhraní patří Microsoft.VisualStudio.Shell.Interop.IVsHierarchy, Microsoft.VisualStudio.Shell.Interop.IVsProject (nebo odvozené rozhraní) a Microsoft.VisualStudio.Shell.Interop.IVsBuildPropertyStorage.Seznam hlavních rozhraní, které jsou implementovány projekty, viz Součásti jádra modelu projektu. |
|
nebo Hodnota UInt32 (nazývané také VSITEMID) identifikuje člena v projektu Microsoft.VisualStudio.Shell.Interop.IVsHierarchy, který ji obsahuje.Tuto hodnotu lze předat parametru itemid některých metod Microsoft.VisualStudio.Shell.Interop.IVsHierarchy. |
Příklad
Následující příklad kódu demonstruje použití metody Convert<TInput, TOutput> pro převedení objektu ISharePointProject na EnvDTE.Project.
Private Sub projectService_ProjectAdded(ByVal sender As Object, _
ByVal e As Microsoft.VisualStudio.SharePoint.SharePointProjectEventArgs)
Dim dteProject As EnvDTE.Project = e.Project.ProjectService.Convert( _
Of Microsoft.VisualStudio.SharePoint.ISharePointProject, EnvDTE.Project)(e.Project)
If dteProject IsNot Nothing Then
' Use the Visual Studio automation object model to add a folder to the project.
dteProject.ProjectItems.AddFolder("Data")
End If
End Sub
void projectService_ProjectAdded(object sender, Microsoft.VisualStudio.SharePoint.SharePointProjectEventArgs e)
{
EnvDTE.Project dteProject = e.Project.ProjectService.Convert<
Microsoft.VisualStudio.SharePoint.ISharePointProject, EnvDTE.Project>(e.Project);
if (dteProject != null)
{
// Use the Visual Studio automation object model to add a folder to the project.
dteProject.ProjectItems.AddFolder("Data");
}
}
Tento příklad vyžaduje:
Rozšíření systému projektu služby SharePoint, které obsahuje odkaz na sestavení EnvDTE.dll.Další informace naleznete v tématu Rozšíření systému projektů služby SharePoint.
Kód, který zaregistruje metodu projectService_ProjectAdded pro zpracování události ProjectAdded objektu ISharePointProjectService.Příklad naleznete v tématu Jak: vytvoření rozšíření projektu SharePoint.
Viz také
Koncepty
Pomocí služby SharePoint projektu
Jak: načtení služby SharePoint projektu
Přehled programovací Model rozšíření nástroje služby SharePoint