-
Notifications
You must be signed in to change notification settings - Fork 222
zh_CN_OpenFx_Extension_Attributes
Shunhong Zhang edited this page Nov 8, 2018
·
2 revisions
当你问出这个问题时,代表你需要补课了,这是C#基础知识
用于标明拓展模块的 信息和运行所需环境
显然,这个特性是被用来标记拓展模块名称的
//秋之盒将认为该拓展模块的中文名为:示例模块
[ExtName("示例模块")]
public class ExampleExt : AutumnBoxExtension{
...
}
显然,这个特性是被用来标记拓展模块所有者的
//现在,这个模块是我的了!
[ExtAuth("zsh2401")]
public class ExampleExt : AutumnBoxExtension{
...
}
显然,这个特性的内容是拓展模块的说明
[ExtDesc("哈哈哈")]
public class ExampleExt : AutumnBoxExtension{
...
}
表明拓展模块版本
[ExtVersion(1,0,0)]
public class ExampleExt : AutumnBoxExtension{
...
}
标明拓展该拓展模块的运行需要什么样的设备状态
//当连接设备处于开机或恢复模式时,该模块都可以使用
[ExtRequiredDeviceStates(
DeviceState.Poweron | DeviceState.Recovery)]
public class ExampleExt : AutumnBoxExtension{
...
}
你这个拓展模块需要管理员权限?加上这个标记吧,秋之盒将确保你的模块被使用时已经处于管理员模式
//当连接设备处于开机或恢复模式时,该模块都可以使用
[RunAsAdmin]
public class ExampleExt : AutumnBoxExtension{
...
}
指定拓展模块运行所需的最低秋之盒API版本
//假设运行环境的API是7,那么该模块将不会被显示与调用
[ExtMinApi(8)]
public class ExampleExt : AutumnBoxExtension{
...
}
指定拓展模块开发时的目标API,请填写你所用SDK的大版本号
如果运行环境低于目标API,可能导致一些严重的崩溃,请做兼容处理
[ExtTargetApi(8)]
public class ExampleExt : AutumnBoxExtension{
...
}
### `ExtIcon`
设置图标,必须是程序集内嵌资源(将图片文件拖到程序集内,属性设置为嵌入的资源)
图片尽量不要超过64*64
```C#
//图片资源的路径
//如果在文件夹内,如Image文件夹,则设置为Image.icon.png(用点而不是文件夹分隔符)
[ExtIcon("icon.png")]
public class ExampleExt : AutumnBoxExtension{
...
}
特性中的内容是固定的,但如果我开发的拓展需要支持别的语言呢?
秋之盒开放框架早就考虑到了这个问题
ExtName
ExtDesc
ExtAuth
均可进行多次标记并且设定相应语言
一定要设置默认值!!!否则遇到未声明的语言时,将会崩溃
示例
//默认
[ExtName("张哥")]
//英语语环境下显示zsh2401
[ExtName("zsh2401",Lang="en-us")]
//日语环境下显示张の哥
[ExtName("张の哥",Lang="jp-jp")]
public class LangExt: AutumnBoxExtension{
...
}