VSProject2.GetUniqueFilename(Object, String, String) Método

Definição

Gera um nome de arquivo exclusivo dentro do projeto. Ele é usado para nomear novos itens de projeto.

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

Parâmetros

pDispatch
Object

O nome gerado tem esse valor como a extensão.

bstrRoot
String

Um objeto Project ou um objeto de pasta ProjectItem . O nome de arquivo gerado é exclusivo dentro desse contexto.

bstrDesiredExt
String

O nome gerado começa com esta cadeia de caracteres.

Retornos

String

Uma cadeia de caracteres que representa um nome de arquivo que é exclusivo no projeto ou na pasta do projeto. Se o primeiro parâmetro for uma Project instância, o nome gerado será exclusivo na pasta do projeto raiz. O nome do arquivo usa a raiz do formulário?. Extensão, onde? é um ou mais numerais (1, 2, 3 e assim por diante).

Implementações

Atributos

Exemplos

Este exemplo exibe um nome de arquivo que é exclusivo na pasta do projeto, no formato raiz?. externa. Para executar este exemplo como um suplemento, consulte como compilar e executar os exemplos de código de modelo de objeto de automação. Abra um Visual Basic projeto do ou do Visual C# antes de executar este exemplo.

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

Comentários

Um uso típico para esse método é gerar um nome para um novo item de projeto.

Se você chamar esse método com KeyFile como a raiz e SNK como a extensão, a cadeia de caracteres retornada será KeyFile. SNK, se o arquivo KeyFile. SNK ainda não existir. Se o arquivo KeyFile. snk já existir, keyarquivo1. snk será retornado. Observe que, se várias chamadas forem feitas a esse método e nenhum arquivo for criado a partir do nome de arquivo retornado, todas as chamadas retornarão o mesmo valor. Os resultados dependem apenas dos arquivos que existem no momento da chamada do método.

Aplica-se a