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

Genera un nombre de archivo único en el proyecto que se usa para asignar nombre a los nuevos elementos del 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: System.Object
    El nombre generado tiene este valor como extensión.
  • bstrDesiredExt
    Tipo: System.String
    El nombre generado comienza con esta cadena.

Valor devuelto

Tipo: System.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

GetUniqueFilename (Sobrecarga)

VSLangProj80 (Espacio de nombres)