EXTENDS WSTRING
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgExtendsWstring
- 最后更新: 2021-11-30
指定继承 Wstring 行为的类型
语法
vb
Type|Union typename Extends Wstring [, base_typename]
...
End Type|Union说明
Extends Wstring 声明 typename 继承 Wstring 的属性和行为。其目的是允许用户创建自定义字符串类型(例如,具有动态内存管理),使其能够很好地融入现有的 fbc 编译器内置功能(与 fbc 的 Wstring 类型具有良好的互操作性)。
带有合适 Cast 运算符的此类 UDT 声明将指示编译器将该 UDT 转换为 Wstring(此外,还可以声明其他合适的运算符,如 Let、[](指针索引)、Len 等)。
Wstring 行为可以直接继承,也可以从基类型间接地单一继承。
Wstring 行为也可以由同时扩展 base_typename 的 UDT 继承(一种伪多重继承)。
通过将类型(直接或间接)声明为 Extends Wstring(仅需额外定义合适的 Cast 运算符),可使其完全兼容 Wstring 类型,甚至包括 Strptr/Sadd、Lset/Rset 和 Select Case。
示例
参见 Extends Zstring 中的类似示例。
版本
- 在 fbc 1.09.0 之前,此提升尚未完全兼容内置函数
Val/Valint/Vallng/Valuint/Valunlg以及Left/Right的Wstring类型。 - 自 fbc 1.07.0 起可用
方言差异
- 在 -lang qb 方言中不可用,除非使用别名
__Extends __Wstring引用,但由于该方言不允许成员过程,实际无法使用。
与 QB 的区别
- FreeBASIC 新增
另请参阅
TypeUnionExtendsWstringExtends Zstring
返回 目录