Metodo VSProject2.GetUniqueFilename
Genera un nome file univoco all'interno del progetto. viene utilizzato per denominare i 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: ObjectIl nome generato presenterà questo valore come estensione.
bstrRoot
Tipo: StringOggetto Project oppure oggetto ProjectItem della cartella. Il nome file generato è univoco all'interno di questo contesto.
bstrDesiredExt
Tipo: StringIl nome generato inizia con questa stringa.
Valore restituito
Tipo: 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).
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]
' 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"));
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.