Compartir a través de


VSProject2.GetUniqueFilename (Método)

Genera un nombre único dentro del proyecto. se utiliza para llamar a nuevos elementos de proyecto.

Espacio de nombres:  VSLangProj80
Ensamblado:  VSLangProj80 (en VSLangProj80.dll)

Sintaxis

'Declaración
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

    El nombre generado tiene este valor como extensión.

  • bstrRoot
    Tipo: String

    Objeto Project u objeto ProjectItem de carpeta. El nombre de archivo generado es único en este contexto.

  • bstrDesiredExt
    Tipo: String

    El nombre generado comienza con esta cadena.

Valor devuelto

Tipo: String
Cadena que representa un nombre de archivo que es único en el proyecto o en la carpeta del proyecto.Si el primer parámetro es una instancia del objeto Project, el nombre generado es único en la carpeta raíz del proyecto.El nombre de archivo adopta la forma Raíz?.Extensión, donde ? es uno o más números (1, 2, 3, y así sucesivamente).

Comentarios

Un uso típico de este método consiste en generar un nombre para un nuevo elemento del proyecto.

Si se llama a este método con KeyFile como raíz y snk como extensión, la cadena devuelta es KeyFile.snk si el archivo KeyFile.snk no existe todavía. Si existe, se devuelve KeyFile1.snk. Debe tenerse en cuenta que si se realizan varias llamadas a este método y no se crea ningún archivo a partir del nombre de archivo devuelto, todas las llamadas devuelven el mismo valor. El resultado depende sólo de los archivos que existan en el momento de la llamada al método.

Ejemplos

En este ejemplo se muestra un nombre de archivo que es único en la carpeta del proyecto, con el formato root?.ext. Para ejecutar este ejemplo como complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización. Abra un proyecto de Visual Basic o Visual C# antes de ejecutar este ejemplo.

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

Seguridad de .NET Framework

Vea también

Referencia

VSProject2 Interfaz

VSLangProj80 (Espacio de nombres)