Konwersja między typami systemu projektu programu SharePoint i rodzajami projektu programu Visual Studio
W niektórych przypadkach może mieć obiektu w systemie projektu programu SharePoint i chcesz korzystać z funkcji odpowiedni obiekt w modelu obiektowym automatyzacji programu Visual Studio lub integracji modelu obiektów, lub odwrotnie.W takich przypadkach można użyć Convert<TInput, TOutput> metody usługi projektu programu SharePoint, aby dokonać konwersji obiektu na inny obiekt modelu.
Na przykład, może być ISharePointProject obiektu, ale chcesz używać metody, które są dostępne tylko na EnvDTE.Project lub Microsoft.VisualStudio.Shell.Interop.IVsProject obiektu.W takim przypadku można użyć Convert<TInput, TOutput> metodę konwersji ISharePointProject do EnvDTE.Project lub Microsoft.VisualStudio.Shell.Interop.IVsProject.
Aby uzyskać więcej informacji o modelu obiektowym automatyzacji programu Visual Studio i modelu obiektów programu Visual Studio integracji, zobacz Omówienie modelu programowania, rozszerzenia narzędzi programu SharePoint.
Konwersje typów
Poniższa tabela zawiera listę typów, które tę metodę można konwertować między systemem projektu programu SharePoint i innych modeli obiektów Visual Studio.
Typ systemu projektu programu SharePoint |
Odpowiadające im typy modeli obiekt automatyzacji i integracji |
---|---|
lub Każdy interfejs w integracji modelu obiektów programu Visual Studio jest implementowane przez obiekt COM podstawowej dla projektu.Te interfejsy zawierają Microsoft.VisualStudio.Shell.Interop.IVsHierarchy, Microsoft.VisualStudio.Shell.Interop.IVsProject (lub interfejsu pochodnego), i Microsoft.VisualStudio.Shell.Interop.IVsBuildPropertyStorage.Wykaz głównych interfejsów, które są implementowane przez projekty, zobacz Składniki podstawowe modelu projektu. |
|
lub A UInt32 wartość (nazywane również VSITEMID), które identyfikują członek projektu w Microsoft.VisualStudio.Shell.Interop.IVsHierarchy który go zawiera.Wartość tę można przekazać do itemid parametr niektórych Microsoft.VisualStudio.Shell.Interop.IVsHierarchy metody. |
Przykład
Poniższy przykład kodu pokazuje sposób użycia Convert<TInput, TOutput> metodę konwersji ISharePointProject obiektu do 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");
}
}
W tym przykładzie wymaga:
Rozszerzenie systemu projektu programu SharePoint, która zawiera odwołanie do zestawu EnvDTE.dll.Aby uzyskać więcej informacji, zobacz Rozszerzenia systemu projektu programu SharePoint.
Kod, który rejestruje projectService_ProjectAdded metody obsługi ProjectAdded zdarzenia ISharePointProjectService obiektu.Na przykład, zobacz Jak: tworzenie rozszerzenie projektu programu SharePoint.
Zobacz też
Koncepcje
Za pomocą usługi SharePoint projektu
Jak: pobrać usługi SharePoint projektu
Omówienie modelu programowania, rozszerzenia narzędzi programu SharePoint