深入理解 c# 第十四章 在Excel中将dynamic隐式转换为其他类型 COM和Office

    class DynamicExcel
    {
        static void Main() //在Excel中将dynamic隐式转换为其他类型 COM和Office 
        {
            var app = new Application { Visible = true };
//app	 {Microsoft.Office.Interop.Excel.ApplicationClass}
            app.Workbooks.Add();
            Worksheet worksheet = app.ActiveSheet;
//worksheet COM 对象			
            Range start = worksheet.Cells[1, 1];
//start COM 对象			
            Range end = worksheet.Cells[1, 20];
//end COM 对象			
            worksheet.Range[start, end].Value = Enumerable.Range(1, 20).ToArray();
        }
    }


  在每一行都规定了我所期望的类型,如果有任何问题,可以立即发现,而不必等到试图以某种
可能得不到支持的方式使用某个值。
  使用dynamic,我们不必得到期望的确切类型,而可以使用它的值,并且只要它支持的所有的操
作,就不会有任何问题。另一方面,使用静态类型,还可以通过IntelliSense在任意阶段查看可
使用的值。我们仍使用动态类型为Worksheet和Range提供隐式转换。
  从静态类型到动态类型转换可能开始看上去不太显眼,但代码复杂性增加,消除强制转换带来的
可读性也会随之增强。
  从某种程度来说,COM是一项相对旧的技术,已是昨日黄花。

输出
打开excel 从 a1 到 t1 填入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

猜你喜欢

转载自blog.csdn.net/eyetired/article/details/80368088