gpt4 book ai didi

xamarin.ios - 在 MonoTouch 中如何映射派生自两个类的接口(interface)?

转载 作者:行者123 更新时间:2023-12-02 00:21:33 24 4
gpt4 key购买 nike

我在外部库中有以下接口(interface)定义

@interface AGSGPS : UIView < CLLocationManagerDelegate >

通常您会在 ApiDefinition.cs 中定义为:

[BaseType (typeof (UIView))]
interface AGSGPS : CLLocationManagerDelegate

问题在于 UIViewCLLocationManagerDelegate 都是类,这分解为以下代码:

class AGSGPS : UIView, CLLocationManagerDelegate

这在 C# 中是非法的

想法?

最佳答案

您不需要“映射”对象。尖括号中的类型是一种协议(protocol),这意味着您的 AGSGPS 对象采用该协议(protocol)。

查看文档 here

现在,采用协议(protocol)意味着您的对象应该实现协议(protocol)的所有方法。要在您的 ApiDefinition 中执行此操作,只需将 CLLocationManagerDelegate 的方法视为属于您的 AGSGPS 类型,例如:

[BaseType (typeof (UIView))]
interface AGSGPS
{

[Export("locationManager:didUpdateHeading:")]
void UpdatedHeading(CLLocationManager lman, CLHeading heading);

// etc, include all CLLocationManagerDelegate's methods
}

关于xamarin.ios - 在 MonoTouch 中如何映射派生自两个类的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10724932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com