Metoda VSProject2.GetUniqueFilename — (Object, String, String)
Generuje unikatową nazwa pliku w ramach projekt.jest on używany do nazywania nowych elementów projekt .
Przestrzeń nazw: VSLangProj80
Zestaw: VSLangProj80 (w VSLangProj80.dll)
Składnia
'Deklaracja
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
Parametry
- pDispatch
Typ: System.Object
Nazwa wygenerowana ma tę wartość jako rozszerzenie.
- bstrRoot
Typ: System.String
A Project obiekt lub w folderze ProjectItem obiekt. nazwa pliku , generowane jest unikatowe w tym kontekst.
- bstrDesiredExt
Typ: System.String
Ten ciąg rozpoczyna się nazwa generowane.
Wartość zwracana
Typ: System.String
Ciąg znaków reprezentujący nazwa pliku , która jest unikatowa w projekt lub w folderze projekt .Jeśli pierwszy parametr jest Project instancji, a następnie nazwę, generowany jest unikatowa w korzeńfolderemprojekt . nazwa pliku ma formularzgłównego?.Rozszerzenie, gdzie ? jest jeden lub więcej cyfr (1, 2, 3 i tak dalej).
Uwagi
Typowym zastosowaniem tej metoda jest do generowania nazwy dla nowego elementu projekt .
Jeśli ta zostanie wywołana metoda z KeyFile jako korzeń i snk jako rozszerzenie, ciąg zwracany jest KeyFile.snk, jeśli plik KeyFile.snk już istnieje.Jeśli plik KeyFile.snk już istnieje, zwracany jest KeyFile1.snk.Należy zauważyć, że wiele wywołań z tej metoda , jeśli plik nie jest tworzony z zwracaną nazwa pliku, wszystkie wywołania zwracają tę samą wartość.Wyniki zależą tylko pliki, które istnieją w momencie wywołania metoda .
Przykłady
W tym przykładzie wyświetla nazwa pliku , która jest unikatowa w folderze projekt w formularz korzeń?.zewnętrzneAby uruchomić ten przykład, jako dodatek, zobacz Jak: skompilować i uruchomić przykłady kodu modelu obiektu automatyzacji.Otwórz Visual Basic lub Visual C# projekt przed uruchomieniem tego przykładu.
[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"));
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..