Partager via


VSProject2.GetUniqueFilename, méthode (Object, String, String)

Génère un nom de fichier unique dans le projet et est utilisé pour nommer les nouveaux éléments de projet.

Espace de noms :  VSLangProj80
Assembly :  VSLangProj80 (dans VSLangProj80.dll)

Syntaxe

'Déclaration
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

Paramètres

  • pDispatch
    Type : System.Object
    Valeur de l'extension du nom généré.
  • bstrDesiredExt
    Type : System.String
    Le nom généré démarre par cette chaîne.

Valeur de retour

Type : System.String
Chaîne représentant un nom de fichier unique dans le projet ou dans le dossier du projet.Si le premier paramètre est une instance Project, le nom généré est unique dans le dossier racine du projet.Le nom du fichier prend la forme Root?.Extension, où ? représente un ou plusieurs chiffres (1, 2, 3, etc.).

Implémentations

VSProject.GetUniqueFilename(Object, String, String)

Notes

Cette méthode est généralement utilisée pour générer le nom d'un nouvel élément de projet.

Si vous appelez cette méthode avec KeyFile comme racine et snk comme extension, la chaîne retournée est KeyFile.snk, si le fichier KeyFile.snk n'existe pas déjà. S'il existe déjà, alors la chaîne retournée est KeyFile1.snk. Notez que si cette méthode est appelée plusieurs fois et qu'aucun fichier n'est créé à partir du nom de fichier retourné, tous les appels retournent la même valeur. Les résultats dépendent uniquement des fichiers existant au moment de l'appel à la méthode.

Exemples

Cet exemple affiche un nom de fichier unique dans le dossier du projet, sous la forme root?.ext. Pour exécuter cet exemple comme un complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation. Ouvrez un projet Visual Basic ou Visual C# avant d'exécuter cet exemple.

[Visual Basic]

Cet exemple affiche un nom de fichier unique dans

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

Sécurité .NET Framework

Voir aussi

Référence

VSProject2 Interface

GetUniqueFilename, surcharge

VSLangProj80, espace de noms