Я пытаюсь сделать привязку для StickNFind для использования в проекте на основе Xamarin.Binding StickNFind для Xamarin не удается скомпилировать
Проблемный класс LeDeviceManager
, он наследует CBCentralManagerDelegate
, что является абстрактным классом, а метод UpdateState(m)
не является частью обязательной.
Вот заголовок Obj-C для этого класса:
interface LeDeviceManager : NSObject <CBCentralManagerDelegate>
@property (nonatomic,strong) NSMutableArray *devList;
@property (nonatomic) CBCentralManager *btmgr;
@property (nonatomic,strong) id <LeDeviceManagerDelegate> delegate;
- (id) initWithSupportedDevices: (NSArray *) devCls delegate: (id <LeDeviceManagerDelegate>) del;
- (void) startScan;
- (void) stopScan;
@end
И это связывания я придумал, с тяжелой помощью Objective шулера по:
[Model, BaseType (typeof(CBCentralManagerDelegate))]
public partial interface LeDeviceManager
{
[Export ("devList", ArgumentSemantic.Retain)]
NSMutableArray DevList { get; set; }
[Export ("btmgr")]
CBCentralManager Btmgr { get; set; }
[Export ("delegate", ArgumentSemantic.Retain)]
LeDeviceManagerDelegate Delegate { get; set; }
[Export ("initWithSupportedDevices:delegate:")]
IntPtr Constructor (NSObject[] devCls, LeDeviceManagerDelegate del);
[Export ("startScan")]
void StartScan();
[Export ("stopScan")]
void StopScan();
[Export ("UpdatedState")]
[New] // Added as suggested by another SO post, also tried [Abstract]
void UpdatedState(CBCentralManager mgr);
}
И я получаю это CS0533 ошибка: ошибка StickNFind.LeDeviceManager.UpdatedState(MonoTouch.CoreBluetooth.CBCentralManager)' hides inherited abstract member
MonoTouch.CoreBluetooth.CBCentralManagerDelegate.UpdatedState (MonoTouch.CoreBluetooth.CBCentralManager)»(CS0533) (SNF_Binding)
Как исправить это:
вы закончить эту связь? Мне нужно то же самое и предпочитаю не изобретать велосипед, если вы уже это сделали. –
Мне удалось пройти мимо этой ошибки, но затем я получил еще одну ошибку о некоторых дублированных именах в SDF SDK, и я сдался. Я пережил массу проблем с ОЯТ, и я не рекомендую их - весь их код действительно дерьмовый, маяки ведут себя непредсказуемо, и я не мог заставить их работать, их поддержка ужасна. –