1

if ステートメント (C#) をあまり使用せずに、さまざまな関数をロードしようとしています。リストを使用してみましたが、Unity を使用して例外をスローしActionます。私はここでC#の良い解決策を見つけました:

var methods = new Dictionary<string, Action>()
          {
              {"method1", () => method1() },
              {"method2", () => method2() }
          };

methods["method2"]();

ここでの同じ問題Action

輸入しました

using System.Collections.Generic;

何が恋しいですか?

4

1 に答える 1

1

のに加えてSystem.Collections.Generic、 のDictionaryインポートも必要SystemですAction

using System;ファイルの先頭に追加します。

一般に、MSDN で型を調べて、その完全な名前空間を確認します。この場合、アクション デリゲートの MSDN ページは、その名前空間が "System" であることを示しています。そのため、コードの先頭にディレクティブを追加するかusing System;、コードに完全な名前空間を含める必要があります。たとえば、次の場合、usingディレクティブを使用せずに上記のコードを書き換えることができます。

var methods = new System.Collections.Generic.Dictionary<string, System.Action>()
      {
          {"method1", () => method1() },
          {"method2", () => method2() }
      };

methods["method2"]();
于 2013-06-23T22:27:35.767 に答える