Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xamarin上的NSItemProviderReading_Ios_Xamarin_Xamarin.ios_Ios11 - Fatal编程技术网

Ios Xamarin上的NSItemProviderReading

Ios Xamarin上的NSItemProviderReading,ios,xamarin,xamarin.ios,ios11,Ios,Xamarin,Xamarin.ios,Ios11,要在iOS 11中对文件执行拖放操作,您需要实现NSItemProviderReading,这里有swift的示例代码: 然而,在Xamarin中如何做到这一点,我想类定义应该是这样的,但是如何实现这些方法呢 public class DocumentProvider : NSObject, INSItemProviderReading { } 您可以像这样实现NSItemProviderReading: class MyItemProvider : UIView, INSItemProvi

要在iOS 11中对文件执行拖放操作,您需要实现
NSItemProviderReading
,这里有swift的示例代码:

然而,在Xamarin中如何做到这一点,我想类定义应该是这样的,但是如何实现这些方法呢

public class DocumentProvider : NSObject, INSItemProviderReading
{

}

您可以像这样实现
NSItemProviderReading

class MyItemProvider : UIView, INSItemProviderReading {

    [Export ("readableTypeIdentifiersForItemProvider")]
    public static string [] ReadableTypeIdentifiersForItemProvider => new string [] { "public.image", "public.data" }

    [Export ("objectWithItemProviderData:typeIdentifier:error:")]
    public static MyItemProvider GetObject (NSData data, string typeIdentifier, out NSError outError)
    {
        outError = null;
        switch (typeIdentifier) {
        case "public.image": return new ...;
        case "public.data": return new ...;
        default:
            outError = new NSError (...);
            return null;
        }
    }
}

参考:。

它部分有用,但由于您似乎无法在其静态方法中创建该类的实例,因此它不起作用。。。