VSProject2.GetUniqueFilename(Object, String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.