2017-09-27 11 views
-1

これは可能ですか?コードを文字列vb.netとして実行する

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

つまり、関数のようなコードを実行できますか?

EDIT1: 私はここに別の質問を:

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

しかし、私は次のことができます。私はこのような何かを実行したいデキューするとき、私は、ラベルのが名前でキューを持って Checkpoints in functions VB.NET

をこのラベルを動的に設定しないでください。 と私は知っていましたが、これと同じようにsthを達成する方法はありますか?あなたのリンクの質問に基づいて

+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を参照してください。

関連する問題