MonoDevelop 4.0.1 を使用して Unity 4.5.2f1 のコードを作成する
以下のコードは私が使用しているコードの一部であり、すべての変数は使用してチェックされてDebug.Log
おり、すべて (個別に) 正しい値を返します。
Unity でスクリプト アセットを更新すると、次のエラー メッセージが表示されます。
内部コンパイラ エラー。詳細については、コンソール ログを参照してください。出力は次のとおりです: エラー CS0518: 定義済みの型 `System.Runtime.CompilerServices.CallSite' が定義されていないか、インポートされていません
エラー CS0518: 定義済みの型
System.Runtime.CompilerServices.CallSite
1' が定義されていないか、インポートされていませんエラー CS0518: 定義済みの型 `System.Runtime.CompilerServices.CallSite' が定義されていないか、インポートされていません
エラー CS0518: 定義済みの型
System.Runtime.CompilerServices.CallSite
1' が定義されていないか、インポートされていませんエラー CS0518: 定義済みの型 `System.Runtime.CompilerServices.CallSite' が定義されていないか、インポートされていません
エラー CS0518: 定義済みの型
System.Runtime.CompilerServices.CallSite
1' が定義されていないか、インポートされていませんエラー CS0518: 定義済みの型 `System.Runtime.CompilerServices.CallSite' が定義されていないか、インポートされていません
エラー CS0518: 定義済みの型
System.Runtime.CompilerServices.CallSite
1' が定義されていないか、インポートされていませんエラー CS0518: 定義済みの型 `System.Runtime.CompilerServices.CallSite' が定義されていないか、インポートされていません
エラー CS0518: 定義済みの型
System.Runtime.CompilerServices.CallSite
1' が定義されていないか、インポートされていませんエラー CS0518: 定義済みの型 `System.Runtime.CompilerServices.CallSite' が定義されていないか、インポートされていません
エラー CS0518: 定義済みの型
System.Runtime.CompilerServices.CallSite
1' が定義されていないか、インポートされていません
このエラーの原因となっているスクリプトのセクション (簡略化) は次のとおりです。
注: 関数を複数の小さな関数に分割することはできません。関数はそのままにしておく必要があります。必要に応じて return ステートメントを編集できます。
using UnityEngine;
using System.Collections;
using Random = UnityEngine.Random;
public class myScene : MonoBehaviour
{
private dynamic someVar;
private float myFloat = 1.1f;
private string myString = "string";
private int myInt = 2;
void OnGUI()
{
someVar = myFunction(myFloat, myString, myInt);
}
//First Function
public dynamic myFunction(float myFloat, string myString, int myInt)
{
//Do something
dynamic myOtherFunction(myFloat, myString, myInt);
float myFloat = myOtherFunction.myFloat;
string myString = myOtherFunction.myString;
int myInt = myOtherFunction.myInt;
//Do something
return new {myFloat = myFloat, myString = myString, myInt = myInt};
}
//Second function
public dynamic myOtherFunction(float myFloat, string myString, int myInt)
{
//Do something
return new {myFloat = myFloat, myString = myString, myInt = myInt};
}
}
問題が何であるかを理解できませんでした (はい、Google を使用しても、考えられる解決策がいくつか出てきましたが、試してみましたが、私の問題は解決していないようです)。
OnGUI()
別の関数から関数に複数の変数を返すことができる必要があります。私が使用している方法は、ここでreturn new{varName = value, ...};
見つかりました。Unity 4 MonoDevelop がサポートしていないため (この投稿によると)、ユーザーが投稿したタプルを使用できません。
いいえ、Unity はタプルをサポートしていません。おそらく、Unity がその Mono バージョンをアップグレードして、.NET Framework 4 に組み込まれた機能をサポートするときでしょう。
OnGUI()
最終的に、関数に次のコードを実装したいと思います。
myFloat = myFunction.myFloat;
myString = myFunction.myString;
myInt = myFunction.myInt
これについての助けは大歓迎です、ありがとう