Reference3.ContainingProject - свойство
Обновлен: Ноябрь 2007
Возвращает объект Project, содержащий ссылку.
Пространство имен: VSLangProj80
Сборка: VSLangProj80 (в VSLangProj80.dll)
Синтаксис
'Декларация
ReadOnly Property ContainingProject As Project
'Применение
Dim instance As Reference3
Dim value As Project
value = instance.ContainingProject
Project ContainingProject { get; }
property Project^ ContainingProject {
Project^ get ();
}
function get ContainingProject () : Project
Значение свойства
Тип: EnvDTE.Project
Объект Project, содержащий ссылку.
Реализации
Заметки
Это свойство служит для извлечения объекта Project, включающего данную ссылку.
Примеры
В данном примере приприводится содержащий прект для всех ссылок, а также отдельно для каждой ссылки в открытом проекте Visual Basic, Visual C# или Visual J#. О том, как выполнить этот пример в качестве надстройки, см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
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)
TestGetProjectName(applicationObject)
End Sub
Sub TestGetProjectName(ByVal dte As DTE2)
' First project is a Visual Basic, C# or J# project.
Dim theVSProject As VSProject2 = _
CType(applicationObject.Solution.Projects.Item(1)._
Object, VSProject2)
Dim refs As References = theVSProject.References
MsgBox("The containing project for all references is : " _
& GetProjectName(refs))
Dim aRef As Reference3
Dim refStr As String
refStr = ""
For Each aRef In theVSProject.References
refStr &= (aRef.Name & "'s containing project is: " _
& aRef.ContainingProject.Name & vbCr)
Next
MsgBox("The containing project for each reference in the project:" _
& vbCr & vbCr & refStr & vbCr)
End Sub
Private Function GetProjectName(ByVal refs As References) _
As String
Return refs.ContainingProject.Name
End Function
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;
TestGetProjectName(((DTE2)applicationObject));
}
public void TestGetProjectName(DTE2 dte)
{
// First project is a Visual Basic, C# or J# project.
VSProject2 theVSProject =
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));
References refs = theVSProject.References;
MessageBox.Show("The containing project for all references is : "
+ GetProjectName(refs));
Reference aRef = null;
string refStr = null;
refStr = "";
foreach (VSLangProj80.Reference3 temp in theVSProject.References)
{
aRef = temp;
refStr += (aRef.Name + "'s containing project is: "
+ aRef.ContainingProject.Name + "\n");
}
MessageBox.Show("The containing project for each reference in
the project:" + "\n" + "\n" + refStr + "\n");
}
private string GetProjectName(References refs)
{
return refs.ContainingProject.Name;
}
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.