質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

4220閲覧

Dictionary型を返す関数

Qoo

総合スコア1249

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/03/23 08:53

UNITYで起動シーンで取得したDictionary型の変数を
他のシーンで読み込む際の参照関数を作りたいのですが
下記、Dictionary Get_piclist() の部分でジェネリック種類Dictionary(Tkey,Tvalue)を使用するには2型引数が必要です
というエラーになります。
GameManager側のpiclistにAppIniScriptのpiclistをコピーするイメージですが
この場合、どのような記述になるのでしょうか。。

c#

1public class GameManager : MonoBehaviour 2{ 3 public static Dictionary<int, Sprite> piclist = new Dictionary<int, Sprite>(); 4 void Start() 5 { 6 piclist = AppIniScript.Get_piclist(); 7 } 8 9}

c#

1public class AppIniScript : MonoBehaviour 2{ 3 public static Dictionary<int, Sprite> piclist = new Dictionary<int, Sprite>(); 4 public static Dictionary Get_piclist() ←ジェネリック種類を使用するには2型引数が必要ですのエラー 5 { 6 return piclist; 7 } 8 9 private Sprite Get_Png_Tex(string fname) 10 { 11 12 pngBytes = System.IO.File.ReadAllBytes(fname); 13 tex = new Texture2D(2, 2); 14 tex.LoadImage(pngBytes); 15 16 return Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f), 100.0f, 0, SpriteMeshType.FullRect); 17 18 } 19 20 void Start() 21 { 22 string[] names = Directory.GetFiles(Application.streamingAssetsPath + "/pic", "*"); 23 24 int i = 0; 25 foreach (string filePath in names) 26 { 27 if (System.IO.Path.GetExtension(filePath) == ".png") 28 { 29 piclist.Add(i, Get_Png_Tex(filePath)); 30 i += 1; 31 } 32 } 33 } 34 35 36}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

public static Dictionary Get_piclist()

public static Dictionary<int, Sprite> Get_piclist()

でどうですか?

投稿2020/03/23 08:54

takabosoft

総合スコア8356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Qoo

2020/03/23 09:06

回答ありがとうございます!助かりました!
guest

0

ベストアンサー

ジェネリック型は<>の中身も含めて型です
なのでこう書けばいいです

public static Dictionary<int, Sprite> Get_piclist() { return piclist; }

投稿2020/03/23 08:56

izmktr

総合スコア2856

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Qoo

2020/03/23 09:06

迅速な回答ありがとうございます!助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問