1

値型としてVector2配列を持つディクショナリを、クラス属性であるディクショナリに配置するのに問題があります。

Dictionary<string, Dictionary<string, Vector2[]>> foo = new Dictionary<string, Dictionary<string, Vector2[]>>();  // OK
foo.Add("bar", new Dictionary<string, Vector2[]>()); // OK

fooAttribute.add("bar", new Dictionary<string, Vector2[]>()); // NOT OK

属性の宣言は次のとおりです。

protected Dictionary<string, Dictionary<string, Vector2[]>> fooAttribute;

ローカル変数では機能しますが、属性では失敗し、次のエラーが発生します。

エラーCS1061:System.Collections.Generic.Dictionary<string,System.Collections.Generic.Dictionary<string,UnityEngine.Vector2[]>>' does not contain a definition for「add」と入力し、拡張メソッドadd' of typeSystem.Collections.Generic.Dictionary>'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)(CS1061)(Assembly-CSharp)

4

1 に答える 1

1

Addの代わりに使用する必要がありaddます。C#では大文字と小文字が区別されます。

于 2013-03-25T11:13:11.063 に答える