2016-12-25 54 views
0

我開始用vb.net編寫代碼,我需要直接運行代碼,就像它發生在java中一樣:在cmd中我可以運行類文件。有沒有類似的可能性與vb.net,最好直接從視覺工作室中心?直接從cmd或Visual Studio運行vb.net代碼

謝謝!

+0

切記要就解決您的問題按在它的左邊選中標記爲接受的答案。 - 由於您是新手,請參閱[Tour](http://stackoverflow.com/tour)。 –

+0

嗨;如果我們回答了您的問題,請將其標記爲會將其驗證給社區中的其他人;否則,請告訴我們,如果有的話。 –

回答

7

您可以使用Immediate Window。它提供了許多不同的方式與代碼進行交互。要使用它,請從Visual Studio以調試模式啓動應用程序,然後按CTRL + ALT + I

要執行一個共享的方法,你可以在立即窗口中鍵入:

className.methodName() 

(example) 
MainFunctions.DoStuff() 
DoMoreStuff() 
  • 哪裏className是可選的,如果你現在已經是類(例如裏面,如果你已經打了一個斷點它)。

如果要執行一個實例(非共享)方法既可以使用上述方法(不className,但必須目前是類內通過敲擊一個斷點,例如),或創建這個類的一個新實例和執行方法:

Public Class MiscFunctions 
    Public Sub PrintHelloWorld() 
     Debug.WriteLine("Hello World!") 
    End Sub 
End Class 


(Immediate Window) 
New MiscFunctions().PrintHelloWorld() 
Hello World! 

Dim m As New MiscFunctions 
m.PrintHelloWorld() 
Hello World! 

還可以打印一個變量或輸入函數的返回值的價值:

? variableOrFunctionNameHere 

(example) 
? ImageCount 
4 

相同的規則執行方法適用於評估功能太:

Public Class MiscFunctions 
    Public Shared Function IsEven(ByVal Num As Integer) As Boolean 
     Return Num Mod 2 = 0 
    End Function 

    Public Function Sum(ByVal a As Integer, ByVal b As Integer) As Integer 'Non-shared method. 
     Return a + b 
    End Function 
End Class 


(Immediate Window) 
? MiscFunctions.IsEven(3) 
False 
? MiscFunctions.IsEven(8) 
True 
? New MiscFunctions().Sum(3, 9) 
12 

您還可以動態地計算表達式:

? ImageCount + 1 = 5 'Here, ImageCount is 4 
True 
? 2 * 4 
8 
+0

不錯的答案 - 我不確定在鏈接到它之前我從未看到過它。 – Plutonix

+1

哦 - 發佈XMas日 - 解釋它,你是異教徒。 ;) – Plutonix

+0

@Plutonix:謝謝!儘管我不是異教徒,但我們在瑞典24日慶祝聖誕節。 ;) –

0

如果你正在尋找更多的立即窗口。看看微軟的CodeDom。我用它來編譯C#,VB.net,C++和Visual J#。

https://msdn.microsoft.com/en-us/library/y2k85ax6(v=vs.110).aspx

+0

儘管CodeDom必須在代碼本身內執行。OP正在尋找一種方法來動態地從開發環境中執行方法,而不會改變實際的代碼。 –