2

最初のサードパーティライブラリをモノタッチプロジェクトにバインドしようとしています。ほとんどのバインディングは機能しますが、ObjectiveCクラス拡張のバインディングに問題があります。Binding Objective-CTypesドキュメントの「BindingClassExtensions」の部分を知っていますが、残念ながらそれは役に立ちませんでした。

これらは私がバインドしようとしている2つの拡張機能です:

// category on UIViewController to provide access to the viewDeckController in the 
// contained viewcontrollers, a la UINavigationController.
@interface UIViewController (UIViewDeckItem) 

@property(nonatomic,readonly,retain) IIViewDeckController *viewDeckController; 

@end

// category on WrappedController to provide access to the viewDeckController in the 
// contained viewcontrollers, a la UINavigationController.
@interface UIViewController (WrapControllerItem) 

@property(nonatomic,readonly,assign) WrapController *wrapController; 

@end

そして、これは私がそれらをバインドしようとしている方法です:

[BaseType (typeof(UIResponder))]
interface UIViewController
{
    [Export ("viewDeckController", ArgumentSemantic.Retain)]
    IIViewDeckController ViewDeckController { get; set; }

    [Export ("wrapController", ArgumentSemantic.Assign)]
    WrapController WrapController { get; set; }
}

そして、これをアプリケーションでコンパイルしようとすると、次のようになります。

パブリック部分クラスAgendaView:UIViewController

次のエラーが発生します。

「UIViewController」は、「MonoTouch.UIKit.UIViewController」と「ViewDeck.UIViewController」の間のあいまいな参照です。

この解決策をウェブで検索しようとしましたが、見つかりませんでした。誰かが私をさらに助けてくれると嬉しいです。

前もって感謝します

4

1 に答える 1

0

名前空間を指定する必要があります。明示的:

public partial class AgendaView : MonoTouch.UIKit.UIViewController
public partial class AgendaView : MyBindingsNamespace.UIViewController

またはによってusing:

using MyBindingsNamespace;
public partial class AgendaView : UIViewController
于 2012-11-08T21:17:28.993 に答える