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: ObjectEl nombre generado tiene este valor como extensión.
bstrRoot
Tipo: StringObjeto Project u objeto ProjectItem de carpeta. El nombre de archivo generado es único en este contexto.
bstrDesiredExt
Tipo: StringEl 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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.