Partilhar via


Método VSProject2.GetUniqueFilename

Gerencie um nome de arquivo exclusivo dentro do projeto. é usado nomeando novos itens do 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: Object

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

  • bstrRoot
    Tipo: String

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

  • bstrDesiredExt
    Tipo: String

    Inicia gerados com esse nome cadeia de caracteres.

Valor de retorno

Tipo: 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 instância de Project , o nome gerado é exclusivo dentro da pasta de projeto raiz.O nome de arquivo assume a forma Raiz?. Extensão, onde ? é um ou mais números (1, 2, 3, e assim por diante).

Comentários

Um uso comum desse método é gerar um nome para o novo item de projeto.

Se você chamar esse método com o KeyFile como a raiz e o snk como a extensão, a cadeia de caracteres retornada é KeyFile.snk, se o arquivo KeyFile.snk já não existe. Se o arquivo KeyFile.snk já existir, então KeyFile1.snk será retornado. Observe que se várias chamadas são feitas nesse método e nenhum arquivo é criado de nome de arquivo retornado, qualquer das chamadas retornam o mesmo valor. Os resultados dependem somente de arquivos que existem na hora da chamada do método.

Exemplos

Esse exemplo exibe um nome de 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 os exemplos de código do modelo de objeto Automation. Abra um projeto de Visual Basic ou de 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"));
}

Segurança do .NET Framework

Consulte também

Referência

VSProject2 Interface

Namespace VSLangProj80