none
VB,C# 呼叫同一方法但不同結果?原因為何? RRS feed

  • 問題

  • 各位先進們 大家好
    想請問一個應該是很基礎但又想不通的問題
    我開了兩個專案都是winform
    差異在於一個使用VB.NET一個使用C#
    Form_Load都只做一件事
    宣告一個VB物件
    VB.net 使用CreateObject("Excel.Application")
    去得到電腦上已開啟的Excel 回傳給VB物件
    並呼叫Visable=true 顯現
    已確定可以正常啟動Excel,並顯示
    如圖1

    ---------------------------------------------------------------------

    宣告一個C#物件
    C#.Net 先引用Microsoft.VisualBasic
    之後呼叫
    Interaction.CreateObject("Excel.Application");
    去得到電腦上已開啟的Excel 回傳給C#物件
    如圖2

    但是
    由於Object 並沒有Visable的屬性
    所以在C#這邊IDE就會報錯

    但我想不通的是,為何在VB的專案內
    卻能執行成功?
    如圖3 VB的object 類別內並沒有Visable屬性
    但IDE卻不會報錯,也能順利執行功能

    請問先進們
    1.是什麼樣的原因導致VB能夠順利執行??
    2.若是要在C# 也能做到如此強大的功能
    應該如何做到??

    若有前輩們知道,望請不吝指教

    因為有接到舊專案需要翻新的需求
    但想要照改升級成C# 但才剛開起看到第一關就卡關~"~

    2020年3月24日 下午 01:23

解答

所有回覆