1

您将如何使用 C# 重命名“使用指令”?

因为有时候你从某个地方复制一个类(下面的例子)

//Other Code
        Excel.ApplicationClass excel;
        Excel.Workbooks workbooks;
        Excel.Workbook workbook;
        Excel.Worksheet worksheet;
        Excel.Sheets worksheets;
//Other Code

而不是将所有内容重命名为

//Other Code
        Microsoft.Office.Interop.Excel.ApplicationClass excel;
        Microsoft.Office.Interop.Excel.Workbooks workbooks;
        Microsoft.Office.Interop.Excel.Workbook workbook;
        Microsoft.Office.Interop.Excel.Worksheet worksheet;
        Microsoft.Office.Interop.Excel.Sheets worksheets;
//Other Code

所以有类似的东西

Using  Microsoft.Office.Interop.Excel.ApplicationClass as 'Excel'
4

4 回答 4

9

您可以像这样创建别名:

// for whole namespace
using Excel = Microsoft.Office.Interop.Excel;
// use like this
Excel.ApplicationClass excel = /* ... */;

// or for single type
using ExcelApp = Microsoft.Office.Interop.Excel.ApplicationClass;
// use like this
ExcelApp excel = /* ... */;
于 2013-05-02T09:04:17.763 回答
6

我想你只是在寻找:

using Excel = Microsoft.Office.Interop.Excel;

(我认为您不想ApplicationClass在这里。那将是类型的别名而不是Microsoft.Office.Interop.Excel名称空间。不过,您的问题并不清楚。)

这称为using-alias-directive。从 C# 4 规范的第 9.4.1 节:

using-alias-directive引入了一个标识符,该标识符在紧接的编译单元或命名空间主体内用作命名空间或类型的别名。

因此,在该using指令之后,拥有以下内容有效的:

Excel.ApplicationClass excel = new Excel.ApplicationClass();

...我认为你想要的是什么?

于 2013-05-02T09:04:27.790 回答
2

关于什么:

using Excel = Microsoft.Office.Interop.Excel;
于 2013-05-02T09:05:24.373 回答
1

正如 msdn 文档所说http://msdn.microsoft.com/en-us/library/sf0df423%28v=vs.71%29.aspx

using [alias = ]class_or_namespace;  

所以在你的情况下:

using Excel = Microsoft.Office.Interop.Excel;  
于 2013-05-02T09:06:31.257 回答