c# - 如何为外部声明创建绑定(bind)

标签 c# ios xamarin.ios xamarin

我正在尝试为 iOS 库创建绑定(bind)。

使用此库创建 native 应用程序时,需要包含一个 .h 头文件,该文件声明一个全局 ApplicationKey 变量,如下所示:

extern const unsigned char ApplicationKey[];

你应该实现它

const unsigned char ApplicationKey[] = {0x11, ... };

现在,当为此库创建 Xamarin 绑定(bind)时,头文件由 Objective Sharpie 映射到

partial interface Constants
{
    // extern const unsigned char [] ApplicationKey;
    [Field ("ApplicationKey")]
    byte[] ApplicationKey { get; }
}

如何更改它以便能够从 C# 代码设置 ApplicationKey?

最佳答案

你的 ApiDefination.cs 文件应该是这样的

[BaseType (typeof(NSObject))]
    public partial interface Constants
    {
        [Export ("ApplicationKey")]
        TypeOfProperyInNativeCode ApplicationKey { get; set; }
    }

为了访问此属性,创建绑定(bind)项目的常量类实例并像这样访问

Binding.Constant cons= new Binding.Constant();
cons.ApplicationKey  =value;

为了更好地理解,您可以点击此链接 http://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/Walkthrough_Binding_objective-c_library/

关于c# - 如何为外部声明创建绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29390722/

相关文章:

c# - 从具有可变数量参数的代码片段创建方法

c# - 如何将数组作为 url 参数传递给 Azure Function

ios - [NSString stringWithFormat :] 的崩溃问题

ios - 使用单例创建基本样式助手类

c# - MonoTouch - 获取已连接 socket 的列表

c# - 无法使用集合初始值设定项初始化类型,因为它未实现 'System.Collections.IEnumerable'

c# - Task.Run 在 for 循环中

ios - 如何将新语言添加到设置包

ios - 同时使用套接字和 GameKit。大幅降低套接字速度

Xamarin Forms 应用架构