VSProject2.GetUniqueFilename 方法
生成项目中的唯一的文件名。为命名新的项目项。
命名空间: VSLangProj80
程序集: VSLangProj80(在 VSLangProj80.dll 中)
语法
声明
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
参数
pDispatch
类型:Object生成的名称将此值作为扩展名。
bstrRoot
类型:StringProject 对象或文件夹 ProjectItem 对象。 生成的文件名在此上下文中是唯一的。
bstrDesiredExt
类型:String生成的名称以此字符串开头。
返回值
类型:String
一个表示项目或项目文件夹中的唯一文件名的字符串。如果第一个参数是一个 Project 实例,则生成的名称在根项目文件夹内是唯一的。该文件名采用的格式为根?.扩展名,其中 ? 为一个或多个数字(1、2、3 等)。
备注
此方法常用于为新的项目项生成名称。
如果将 KeyFile 作为根,将 snk 作为扩展名调用此方法,则返回的字符串为 KeyFile.snk(如果文件 KeyFile.snk 尚未存在)。 如果文件 KeyFile.snk 已存在,则返回 KeyFile1.snk。 请注意,如果对此方法进行多个调用,并且没有从返回的文件名创建任何文件,则所有调用将返回相同的值。 结果只取决于在该方法调用时存在的文件。
示例
此示例以 root?.ext 的形式显示项目文件夹中唯一的文件名。若要将此示例作为外接程序运行,请参见如何:编译和运行自动化对象模型代码示例。 在运行此示例之前,请打开一个 Visual Basic 或 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"));
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。