2011-04-15 13 views
2

私はMonoTouchでにいくつかのコードをコンパイルしようとしているが、私はエラーを取得しています:「型または名前空間名 『funcが』が見つかりませんでした」モノタッチ 'Func'デリゲート?

をMSDNによると、デリゲート「のFunc」がシステムに発見されたと具体的にはmscorlibアセンブリ、私はそれがMonoTouchに含まれているかどうかわからないのですか?

私はこの時点で何をすべきか分かりませんが、Funcを自分のバージョンに置き換える必要があるかもしれません(デリゲートとしてはあまり複雑ではないようです)。

アイデア?

答えて

2

funcがマニュアルに従ってMonoTouchでで提供されています:http://go-mono.com/docs/monodoc.ashx?link=T%3aSystem.Func%601

あなたは簡単のFuncデリゲートの宣言を複製することができます。おそらくあなたはそれを確認できるようにあなたの使い方を投稿することができますか?

+0

これはFarseer物理ライブラリ(私はiOS向けにモノデベロッパーでコピーを試みています)で使用されています。 ここで使用されています: private Func _queryAABBCallback; プライベートFunc _queryAABBCallbackWrapper; 例として。 System.Action には、ここで '1'型の引数が必要であると言っているsystem.actionの別のエラーもあります:public event Action Broke; – tweetypi

+0

@meds:マットは正しく、MTはFuncを持っています。 MonoTouchのバージョンによっては、mscorlibまたはSystem.Coreのいずれかにあります。プロジェクトに両方の参照があることを確認します。 –

+0

@Jbエバイン、それは彼が正しいように見えます。私はMonoDevelopのバグやコンパイラと関係するように見えますが、ライブラリから関数が抜けているわけではありません。 – tweetypi

2

のFunc(T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15、T16、TResult)デリゲート

は、このように宣言されていますmscorlib(反射板を使用しています):

namespace System 
{ 
public delegate TResult Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8); 
} 

は同じデリゲートを自分で宣言し、あなたはそれを使用することができます。

関連する問題