【发布时间】:2012-04-04 07:07:40
【问题描述】:
我目前正在处理 MobClix 绑定,我遇到了这一行:
extern NSString* const MCAdsErrorDomain;
该行出现在任何类或接口之外,我不确定如何在 c# 中绑定它。任何帮助将不胜感激!
【问题讨论】:
标签: c# iphone binding xamarin.ios
我目前正在处理 MobClix 绑定,我遇到了这一行:
extern NSString* const MCAdsErrorDomain;
该行出现在任何类或接口之外,我不确定如何在 c# 中绑定它。任何帮助将不胜感激!
【问题讨论】:
标签: c# iphone binding xamarin.ios
你的定义看起来是基于 C 的,所以它应该像 Rolf 的例子告诉你的那样工作。
但是,如果/当您使用 btouch 工具绑定 Objective-C 库时,您将需要使用类似的东西:
[Field ("XXMyString")]
NSString MyString { get; }
这在 MonoTouch 的绑定documentation中有详细描述。
【讨论】:
[Field] 应该足够了。 OTOH,您可以跳过它,直到您需要使用它。这样你就可以把它放在它所属的地方(如果你需要的话)。 IOW 添加未使用的[Field] 不会为您的绑定增加任何价值。
这样做是这样的:
var handle = Dlfcn.dlopen ("/path/to/mobclix-library", 0);
NSString MCAdsErrorDomain = Dlfcn.GetStringConstant (handle, "MCAdsErrorDomain");
Dlfcn.dlclose (handle);
您还可以在此处查看示例(其中也包括一些错误检查):https://github.com/mono/maccore/blob/master/src/CoreVideo/CVPixelFormatDescription.cs#L67
【讨论】: