Udostępnij za pośrednictwem


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

ISharePointProject

EnvDTE.Project

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.

IMappedFolder

ISharePointProjectItem

ISharePointProjectItemFile

ISharePointProjectFeature

ISharePointProjectFeatureResourceFile

ISharePointProjectPackage

EnvDTE.ProjectItem

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:

Zobacz też

Koncepcje

Za pomocą usługi SharePoint projektu

Jak: pobrać usługi SharePoint projektu

Omówienie modelu programowania, rozszerzenia narzędzi programu SharePoint