مشاركة عبر


VSProject2 الواجهة

يحتوي على المعلومات المحددة للمشروع Visual Basicأو #Visual C. الكائنObject يرجعه عندما يكون المشروع من نوع Visual Basicأو #Visual C.

مساحة الاسم:  VSLangProj80
التجميع:  VSLangProj80 (في VSLangProj80.dll)

بناء الجملة

'إقرار
<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
    Inherits VSProject
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
[<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")>]
type VSProject2 =  
    interface
        interface VSProject
    end
public interface VSProject2 extends VSProject

ملاحظات

Projectهو كائن أساسي للقابلية للتوسعة التي يمكن أن تحتوي على معلومات حول المشاريع من أية لغة. الخاصيةObject للكائن Projectتقوم بإرجاع كائن يستند نوعه على لغة المشروع المستخدمة. في الحالة Visual Basicو #Visual C, كان هذا الكائن هو من النوع VSProject2.

الخاصية Objectتقوم بإرجاع بيانات من النوع Object. كائن البيانات الذي تم إرجاعه بواسطة الخاصية Object يمكن في هذه الحالة تحويله بوضوح إلى VSProject2. يوضح المثال التالي هذا التحويل باستخدام الدالة CType. يُستخدمPrjKind للاختبار لمعرفة نوع المشروع قبل التحويل.

أمثلة

لتشغيل هذا المثال كـ وظيفة إضافية, راجع كيفية: الترجمة وإعادة تشغيل أمثلة التعليمات البرمجية لطراز كائن التنفيذ التلقائي.

لتحديد ما إذا كان المشروع Visual Basicأو #Visual C هو مشروع جهاز ذكي, استخدم prjKindSDEVBProjectو prjKindSDECSharpProject.

[Visual Basic]

Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
 ByVal connectMode As ext_ConnectMode, ByVal addInInst _
 As Object, ByRef custom As Array) Implements _
 IDTExtensibility2.OnConnection
    applicationObject = CType(application, DTE2)
    addInInstance = CType(addInInst, AddIn)
    VSProject2Example(applicationObject)
End Sub

 Sub VSProject2Example(ByVal dte As DTE2)
    Dim aProject As Project
    Dim aVSProject2 As VSProject2

    aProject = applicationObject.Solution.Projects.Item(1)
    MsgBox(aProject.Kind & aProject.Name)
    If (aProject.Kind = PrjKind.prjKindVBProject) Or_
    (aProject.Kind = PrjKind.prjKindCSharpProject) Then
        aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
        VSProject2)
        MsgBox(aVSProject2.Project.FullName)
    Else
        MsgBox("The first project is not a Visual Basic or C# _
        project.")
    End If
End Sub

[#C]

// To use Messabox.Show, a reference to Windows.Forms is required.
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application, ext_ConnectMode
 connectMode, object addInInst, ref Array custom)
{
    applicationObject = (DTE2)application;
    addInInstance = (AddIn)addInInst;
    VSProject2Example((DTE2)applicationObject);
}

public void VSProject2Example(DTE2 dte)
{
    Project aProject = null; 
    VSProject aVSProject2 = null; 
    aProject = applicationObject.Solution.Projects.Item( 1 ); 
    MessageBox.Show( aProject.Kind + aProject.Name); 
    if ( ( aProject.Kind == PrjKind.prjKindVBProject ) |
 ( aProject.Kind == PrjKind.prjKindCSharpProject ) ) 
    { 
        aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) ); 
        MessageBox.Show( aVSProject2.Project.FullName); 
    } 
    else 
    { 
        MessageBox.Show( "The first project is not a Visual Basic or C# project."); 
    } 
}

راجع أيضًَا

المرجع

VSProject2 الأعضاء

VSLangProj80 مساحة الاسم

VSProject