Compartilhar via


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

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

Namespace:  VSLangProj80
Assembly:  VSLangProj80 (em VSLangProj80.dll)

Sintaxe

'Declaração
Function GetUniqueFilename ( _
    pDispatch As Object, _
    bstrRoot As String, _
    bstrDesiredExt As String _
) As String
string GetUniqueFilename(
    Object pDispatch,
    string bstrRoot,
    string bstrDesiredExt
)
String^ GetUniqueFilename(
    [InAttribute] Object^ pDispatch, 
    [InAttribute] String^ bstrRoot, 
    [InAttribute] String^ bstrDesiredExt
)
abstract GetUniqueFilename : 
        pDispatch:Object * 
        bstrRoot:string * 
        bstrDesiredExt:string -> string 
function GetUniqueFilename(
    pDispatch : Object, 
    bstrRoot : String, 
    bstrDesiredExt : String
) : String

Parâmetros

  • pDispatch
    Tipo: System.Object
    O nome gerado tem esse valor como a extensão.
  • bstrDesiredExt
    Tipo: System.String
    O nome gerado começa com essa seqüência.

Valor de retorno

Tipo: System.String
Uma seqüência de caracteres que representa um nome de arquivo que é exclusivo no projeto ou pasta do projeto.Se o primeiro parâmetro é um Project instância, e em seguida, o nome gerado é exclusivo dentro da pasta de projeto raiz.O nome do arquivo assume a forma raiz?.Extensão, onde ? é um ou mais numerais (1, 2, 3 e assim por diante).

Implementações

VSProject.GetUniqueFilename(Object, String, String)

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 seqüência de caracteres retornada é keyfile. snk, se o arquivo keyfile. snk ainda não existir. Se já existir o arquivo keyfile. snk, KeyFile1.snk é retornado. Observe que, se várias chamadas são feitas para este método, e nenhum arquivo é criado a partir do nome de arquivo retornado, todas as chamadas de retornam o mesmo valor. Os resultados dependem apenas os arquivos que existem no momento da chamada do método.

Exemplos

Este exemplo exibe o nome do arquivo que é exclusivo na pasta do projeto, na raiz do formulário?.ext. Para executar este exemplo como um suplemento, consulte Como: compilar e Executar a automação de exemplos de Código do modelo de objeto. Abrir um Visual Basic ou Visual C# o projeto antes de executar este exemplo.

[Visual Basic]

' Este exemplo exibe um nome de arquivo é a único a

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

Segurança do .NET Framework

Consulte também

Referência

VSProject2 Interface

Sobrecargas GetUniqueFilename

Namespace VSLangProj80