VSProject2.GetUniqueFilename(Object, String, String) Метод

Определение

Создает уникальное имя файла в проекте. Используется для именования новых элементов проекта.

public:
 System::String ^ GetUniqueFilename(System::Object ^ pDispatch, System::String ^ bstrRoot, System::String ^ bstrDesiredExt);
public:
 Platform::String ^ GetUniqueFilename(Platform::Object ^ pDispatch, Platform::String ^ bstrRoot, Platform::String ^ bstrDesiredExt);
std::wstring GetUniqueFilename(winrt::Windows::Foundation::IInspectable const & pDispatch, std::wstring const & bstrRoot, std::wstring const & bstrDesiredExt);
[System.Runtime.InteropServices.DispId(16)]
public string GetUniqueFilename (object pDispatch, string bstrRoot, string bstrDesiredExt);
[<System.Runtime.InteropServices.DispId(16)>]
abstract member GetUniqueFilename : obj * string * string -> string
Public Function GetUniqueFilename (pDispatch As Object, bstrRoot As String, bstrDesiredExt As String) As String

Параметры

pDispatch
Object

Это значение используется в качестве расширения созданного имени.

bstrRoot
String

Объект Project или объект папки ProjectItem. Созданное имя файла уникально в этом контексте.

bstrDesiredExt
String

Созданное имя начинается с этой строки.

Возвращаемое значение

String

Строка, представляющая имя файла, уникальное в пределах проекта или папки проекта. Если первый параметр является экземпляром Project, созданное имя уникально в пределах корневой папки проекта. Имя файла имеет форму root?. Где? — одна или несколько цифр (1, 2, 3 и т. д.).

Реализации

Атрибуты

Примеры

В этом примере отображается имя файла, уникальное в папке проекта, в корне формы. WLAN. Чтобы запустить этот пример в качестве надстройки, см. статью как скомпилировать и запустить примеры кода объектной модели автоматизации. Visual Basic Visual C# Перед выполнением этого примера откройте проект или.

[Visual Basic]

' This example displays a file name that is unique in the   
     ' project folder, in the form, root?.ext.  
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)  
    GetUniqueName(applicationObject)  
End Sub  
Sub GetUniqueName(ByVal dte As DTE2)  
    Dim proj As Project  
    proj = applicationObject.Solution.Projects.Item(1)  
    Dim vsproj As VSLangProj80.VSProject2 = _  
    CType(proj.Object, VSLangProj80.VSProject2)  
    MsgBox(vsproj.GetUniqueFilename(proj, "Root", "ext"))  
End Sub  

[C#]

using System.Windows.Forms;  
using VSLangProj;  
using VSLangProj2;  
using VSLangProj80;  
// This example displays a file name that is unique in the   
// project folder, in the form, root?.ext.  
public void OnConnection(object application,  
 ext_ConnectMode connectMode, object addInInst, ref Array custom)  
{  
    applicationObject = (DTE2)application;  
    addInInstance = (AddIn)addInInst;  
    GetUniqueName((DTE2)applicationObject);  
}  
public void GetUniqueName(DTE2 dte)  
{  
    Project proj = null;  
    proj = applicationObject.Solution.Projects.Item(1);  
    VSLangProj80.VSProject2 vsproj =   
((VSLangProj80.VSProject2)(proj.Object));  
    MessageBox.Show(vsproj.GetUniqueFilename(proj, "Root", "ext"));  
}  

Комментарии

Обычно этот метод используется для создания имени нового элемента проекта.

Если вызвать этот метод с KeyFile в качестве корня и snk в качестве расширения, возвращается строка KeyFile. snk, если файл KeyFile. snk еще не существует. Если файл KeyFile. snk уже существует, возвращается KeyFile1. snk. Обратите внимание, что если для этого метода выполняется несколько вызовов и файл не создается из возвращенного имени файла, все вызовы возвращают одно и то же значение. Результаты зависят только от файлов, существующих во время вызова метода.

Применяется к