2017-09-27 153 views
-1

這可能嗎?作爲字符串執行代碼vb.net

Public Function MyFunc() as Integer 
     dim I as integer 
     Execute("I = 50") 
     Return I 
End Function 

我的意思是我可以執行類似的功能碼?

EDIT1: 我在這裏問了另一個問題: Checkpoints in functions VB.NET

我有一個隊列中有標籤的名字,當我出列,我想運行是這樣的:

Dim Queue as new Queue(of string) 
Queue.Enqueue("Checkpoint1") 
Queue.Enqueue("Checkpoint2") 
Dim i =Queue.dequeue() 
GoTo I 

但我做不到動態地設置這個標籤 ,我想知道有沒有什麼辦法可以實現這樣或不?

+0

沒有,VB.NET是一個靜態編譯語言。您不能動態編譯文本中間函數,並且在範圍內具有局部變量。 – Enigmativity

+0

你的字符串「I = 50」來自哪裏? – Enigmativity

+0

@Enigmativity OK!謝謝 – AliTheOne

回答

1

根據您的鏈接的問題,這裏有你需要的那種東西:

Dim choices = New Dictionary(Of String, Action) From 
{ 
    { "Apple", Sub() Console.WriteLine("I Love Apples") }, 
    { "Banana", Sub() Console.WriteLine("I Go Ape Over Bananas") } 
} 

choices("Banana").Invoke() 

此輸出"I Go Ape Over Bananas"到控制檯。

https://stackoverflow.com/a/46440962/259769爲你需要一個更具體的實施。