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.");
}
}