2

静的ライブラリにメソッドがあります-(NSArray*)SetImage:(UIImage *)OcrImage;

このメソッドをMonoTouchでバインドする必要があります

NSArray [] SetImage(UIImage OcrImage);

モノタッチクラスでメソッドを使ってみたところ

NSArray[] wordArray=test.SetImage(this.imgSnapshot.Image);

しかし、メソッドを呼び出すとアプリがクラッシュします。

クラッシュログ

 System.InvalidCastException: Cannot cast from source type to destination type.
at (wrapper managed-to-native) object:__icall_wrapper_mono_object_castclass (object,intptr)
at MonoTouch.Foundation.NSArray.ArrayFromHandle[NSArray] (IntPtr handle) [0x0003a] in /Developer/MonoTouch/Source/monotouch/src/shared/Foundation/NSArray.cs
4

1 に答える 1

4

NSArrayは配列であるため、C#宣言に追加する必要はありません(追加することはできません) 。[]

配列で返される単一の型(たとえば、の配列)がわかっている場合は、次のUIImageようにバインドできます。

UIImage [] SetImage(UIImage OcrImage);

それ以外の場合は、次のような一般的な方法で行うことができます。

NSObject [] SetImage(UIImage OcrImage);

NSArrayこれを(なしで)としてバインドすることもできますが[]、それが最良の選択になることはめったにありません。

于 2012-09-03T14:04:38.200 に答える