Udostępnij za pośrednictwem


Metoda VSProject2.GetUniqueFilename —

Generuje unikatową nazwę pliku w ramach projektu. Służy do nadawania nazw nowych elementów projektu.

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: Object

    Nazwa wygenerowana ma tę wartość jako rozszerzenie.

  • bstrRoot
    Typ: String

    A Project obiektu lub w folderze ProjectItem obiektu.Nazwa pliku wygenerowana jest unikatowa w tym kontekście.

  • bstrDesiredExt
    Typ: String

    Nazwa wygenerowana zaczyna się od tego ciągu.

Wartość zwracana

Typ: String
Ciąg reprezentującą nazwę pliku, który jest unikatowy w projekcie lub w folderze projektu.Jeśli pierwszy parametr jest Project instancji, a następnie nazwa wygenerowana jest unikatowa w folderze głównym projektu.Nazwa pliku ma postać główny?.Rozszerzenie, gdzie ? jest jeden lub więcej cyfr (1, 2, 3 i tak dalej).

Uwagi

Typowym zastosowaniem tej metody jest generowanie nazwę nowego elementu projektu.

Jeśli wywołanie tej metody z KeyFile jako root i snk jako rozszerzenie, ciąg zwracany jest KeyFile.snk, jeśli plik KeyFile.snk jeszcze nie istnieje.Jeśli plik KeyFile.snk już istnieje, zwracany jest KeyFile1.snk.Należy zauważyć, że jeśli wiele wywołań do tej metody i plik nie jest tworzony z nazwy pliku zwrócone, wszystkie połączenia zwraca te same wartości.Wyniki zależą od tylko pliki, które istnieją w momencie wywołania metody.

Przykłady

W tym przykładzie wyświetla nazwę pliku, który jest unikatowy w folderze projektu w formularzu głównym?.wew. Aby uruchomić ten przykład jako dodatek, zobacz Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.Otwórz Visual Basic lub Visual C# projektu 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

Zobacz też

Informacje

VSProject2 Interfejs

Przestrzeń nazw VSLangProj80