Condividi tramite


Metodo VSProject2.GetUniqueFilename (Object, String, String)

Questo metodo consente di generare un nome file univoco all'interno del progetto. viene utilizzato per denominare nuovi elementi di progetto.

Spazio dei nomi:  VSLangProj80
Assembly:  VSLangProj80 (in VSLangProj80.dll)

Sintassi

'Dichiarazione
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

Parametri

  • pDispatch
    Tipo: System.Object
    Il nome generato presenterà questo valore come estensione.
  • bstrDesiredExt
    Tipo: System.String
    Il nome generato inizia con questa stringa.

Valore restituito

Tipo: System.String
Una stringa che rappresenta un nome file univoco nel progetto o nella cartella di progetto.Se il primo parametro è un'istanza Project, il nome generato è univoco nella cartella radice del progetto.Il formato del nome file sarà Radice?.Estensione, dove ? rappresenta uno o più numeri (1, 2, 3 e così via).

Implementa

VSProject.GetUniqueFilename(Object, String, String)

Note

Un utilizzo tipico di questo metodo consiste nel generare un nome per un nuovo elemento di progetto.

Se si chiama questo metodo con KeyFile come radice e SNK come estensione, la stringa restituita sarà KeyFile.snk, a condizione che il file KeyFile.snk non esista già. Se il file KeyFile.snk esiste già, viene restituito KeyFile1.snk. Si noti che nel caso vengano effettuate più chiamate a questo metodo, senza che venga creato alcun file con il nome del file restituito, tutte le chiamate danno come risultato lo stesso valore. I risultati dipendono unicamente dai file esistenti al momento della chiamata del metodo.

Esempi

Nell'esempio riportato di seguito viene visualizzato un nome file univoco nella cartella di progetto, nel formato root?.ext. Per eseguire questo esempio come componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione. Prima di eseguire l'esempio, aprire un progetto di Visual Basic o Visual C#.

[Visual Basic]

' In questo esempio viene visualizzato un nome file univoco nella

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

VSProject2 Interfaccia

Overload GetUniqueFilename

Spazio dei nomi VSLangProj80