我假设CGPDFDocumentRef应该绑定到CGPDFDocument
我正在尝试以下
//- (id)initWithPDFDocument:(CGPDFDocumentRef)_document filepath:(NSString *)fullFilePath;
[Export("initWithPDFDocument:filepath:")]
IntPtr Constructor (CGPDFDocument document, string path);
我还包括:
using MonoTouch.CoreGraphics;
当我尝试编译我的绑定项目时,我收到以下错误:
: error BI1002: btouch: Unknown kind MonoTouch.CoreGraphics.CGPDFDocument document in method 'pdftest.ReaderDocument.Constructor'
编辑:
从poupou输入后,我有以下内容:
[BaseType (typeof (NSObject))]
partial interface ReaderDocument {
[Export("initWithPDFDocument:filepath:")]
[Internal] IntPtr Constructor (IntPtr document, string path);
AND在extras.cs中:
public partial class ReaderDocument {
public ReaderDocument (CGPDFDocument doc, string path) : this (doc.Handle, path) { }
}
我可以在MonoDevelop中构建我的绑定项目,但是我在btouch中遇到了错误。 我正在使用命令“/ Developer / MonoTouch / usr / bin / btouch MyBindingLib.cs -s:extras.cs”
MyBindingLib.cs(12,19): error CS0260: Missing partial modifier on declaration
of type `mybindingtest.ReaderDocument'. Another partial declaration of this type
exists
extras.cs(6,30): (Location of the symbol related to previous error)
extras.cs(6,30): error CS0261: Partial declarations of `mybindingtest.ReaderDocument'
must be all classes, all structs or all interfaces
答案 0 :(得分:1)
btouch
不知道存在的每种类型,只知道基本类型和您定义的类型。在这种情况下,您可以分两步绑定它。
首先将CGPDFDocumentRef
绑定为IntPtr
并将其装饰为[Internal]
。
[Export("initWithPDFDocument:filepath:")]
[Internal]
IntPtr Constructor (IntPtr document, string path);
接下来在Extra.cs
文件中添加自定义构造函数。
partial public class YourType {
public YourType (CGPDFDocument doc, string path) : this (doc.Handle, path) { }
}
答案 1 :(得分:0)