The table below has the keywords that are available in the X# language.
•The Keywords in the VO column find their origin in the Visual Objects language. When the compiler dialect is set to VO then these keywords may be abbreviated (4 letter minimum)
•The Keywords in the VN column were introduced in Vulcan.NET. These keywords may never be abbreviated, and most of these keywords are positional, so are only recognized in certain positions in the language. That also means that these keywords may be used as Variable Names or Method names
•The Keywords in the X# column were introduced in X#. Just like the VN keywords they may never be abbreviated and they are also positional.
•Keywords that are listed in the Id column may also be used as an identifier. These are so called "context sensitive" keywords. You may see in the Visual Studio editor that these keywords will change color depending on the position in the source.
For example if you start typing PROPERTY the word will be shown in the IDENTIFIER color:
But as soon as you continue to complete the PROPERTY definition it will get the KEYWORD color:
Keyword |
VO |
VN |
X# |
Id |
Topic |
Description |
---|---|---|---|---|---|---|
ABSTRACT |
|
Y |
|
Y |
Class and Member Modifier |
|
ACCESS |
Y |
|
|
|
Class Member |
|
ADD |
|
|
Y |
Y |
REMOVE Part of an Event |
|
ALIGN |
Y |
|
|
Y |
Part of VOSTRUCT declaration |
|
ANSI |
|
Y |
|
Y |
Character Encoding flag for _DLL declaration |
|
ARRAY |
Y |
|
|
|
XBase datatype |
|
AS |
Y |
|
|
|
Part of type specification |
|
ASCENDING |
|
|
Y |
Y |
Sort order in LINQ query |
|
ASPEN |
Y |
|
|
Y |
Calling Convention (obsolete) |
|
ASSEMBLY |
|
|
|
Y |
Global Attribute Target |
|
ASSIGN |
Y |
|
|
|
Class Member |
|
ASYNC |
|
|
Y |
Y |
Entity Modifier for Async Processing |
|
AUTO |
|
Y |
|
Y |
Character Encoding flag for _DLL declaration. Also part of PROPERTY declaration. |
|
AWAIT |
|
|
Y |
Y |
Expression modifier for Async Processing |
|
BEGIN |
Y |
|
|
|
Indicates the start of a Block |
|
BREAK |
Y |
|
|
|
Breaks out of the current Begin Sequence .. END block |
|
BY |
|
|
Y |
Y |
Part of the "GROUP BY" clause in LINQ |
|
BYTE |
Y |
|
|
|
Native Type |
|
CALLBACK |
Y |
|
|
Y |
Calling Convention (obsolete) |
|
CASE |
Y |
|
|
|
CASE clause of DO CASE statement. Also CASE cause of SWITCH statement. |
|
CATCH |
|
Y |
|
|
CATCH clause of TRY statement |
|
CCALL |
Y |
|
|
|
Call function through Pointer (untyped) with strict calling convention |
|
CCALLNATIVE |
|
Y |
|
|
Call function through Pointer (untyped) with strict calling convention |
|
CHAR |
|
Y |
|
Y |
Native Type |
|
CHECKED |
|
|
Y |
Y |
Indicate that code in expression or block should not be checked for overflow |
|
CLASS |
Y |
|
|
|
Part of CLASS declaration |
|
CLIPPER |
Y |
|
|
Y |
Calling Convention (All parameters are USUALs and Optional) |
|
CODEBLOCK |
Y |
|
|
|
XBase Specific Type |
|
CONST |
|
Y |
|
Y |
Class Member modifier |
|
CONSTRUCTOR |
|
Y |
|
|
Class Member |
|
DATE |
Y |
|
|
|
XBase Specific Type |
|
DECLARE |
Y |
|
|
Y |
DECLARE METHOD, ACCESS, ASSIGN (obsolete) |
|
DEFAULT |
|
Y |
|
Y |
#Pragma command, DEFAULT expression. |
|
DEFINE |
Y |
|
|
Y |
Constant |
|
DELEGATE |
|
Y |
|
Y |
User Defined Type |
|
DESCENDING |
|
|
Y |
Y |
Sort order in LINQ query |
|
DESTRUCTOR |
|
Y |
|
|
Class Member |
|
DIM |
Y |
|
|
Y |
Part of variable declaration |
|
DLLEXPORT |
Y |
|
|
Y |
Part of function/procedure declaration (obsolete) |
|
DO |
Y |
|
|
|
DO CASE and DO WHILE statements |
|
DOWNTO |
Y |
|
|
Y |
FOR NEXT statement |
|
DWORD |
Y |
|
|
|
Native Type |
|
DYNAMIC |
|
|
Y |
Y |
Native Type |
|
ELSE |
Y |
|
|
|
IF Statement |
|
ELSEIF |
Y |
|
|
|
IF Statement |
|
END |
Y |
|
|
|
End for many (block) statements |
|
ENDCASE |
Y |
|
|
|
DO CASE statement |
|
ENDDO |
Y |
|
|
|
DO WHILE statement |
|
ENDIF |
Y |
|
|
|
IF statement |
|
ENUM |
|
Y |
|
Y |
User Defined Type |
|
EQUALS |
|
|
Y |
Y |
Part if LINQ Query |
|
EVENT |
|
Y |
|
Y |
Class Member |
|
EXIT |
Y |
|
|
|
Exit current FOR, DO WHILE or REPEAT loop |
|
EXPLICIT |
|
Y |
|
Y |
Modifier for Operator |
|
EXPORT |
Y |
|
|
|
Class member modifier |
|
EXTERN |
|
|
Y |
Y |
Class member modifier |
|
FALSE |
Y |
|
|
|
Logic Literal |
|
FASTCALL |
Y |
|
|
Y |
Calling Convention (obsolete) |
|
FIELD |
Y |
|
|
Y |
Database field declaration |
|
FINALLY |
|
Y |
|
|
TRY .. FINALLY statement |
|
FIXED |
|
|
Y |
Y |
BEGIN FIXED and Variable modifier |
|
FLOAT |
Y |
|
|
|
XBase Specific Type |
|
FOR |
Y |
|
|
|
FOR NEXT statement |
|
FOREACH |
|
Y |
|
Y |
FOREACH IN NEXT statement |
|
FROM |
|
|
Y |
Y |
FROM clause in LINQ Queries |
|
FUNC |
Y |
|
|
Y |
Function declaration |
|
FUNCTION |
Y |
|
|
|
Function declaration |
|
GET |
|
Y |
|
Y |
GET Part of a Property |
|
GLOBAL |
Y |
|
|
Y |
Global field declaration |
|
GROUP |
|
|
Y |
Y |
Part of the "GROUP BY" clause in LINQ |
|
HIDDEN |
Y |
|
|
|
Class member modifier |
|
IF |
Y |
|
|
|
IF Statement and IF(..,..,..) Immediate IF |
|
IIF |
Y |
|
|
|
Immediate IF |
|
IMPLEMENTS |
|
Y |
|
Y |
Part of CLASS declaration |
|
IMPLICIT |
|
Y |
|
Y |
Modifier for Operator |
|
IMPLIED |
|
Y |
|
Y |
Variable declaration with implied type |
|
IN |
Y |
|
|
Y |
Workarea, LINQ Queries |
FIELD declaration, FOREACH IN NEXT statement |
INHERIT |
Y |
|
|
Y |
Part of CLASS declaration |
|
INITONLY |
|
Y |
|
Y |
Class member modifier |
|
INSTANCE |
Y |
|
|
Y |
Fields |
Class Member declaration |
INT |
Y |
|
|
|
Native Type |
|
INT64 |
|
Y |
|
|
Native Type |
|
INTERFACE |
|
Y |
|
Y |
User Defined Type |
|
INTO |
|
|
Y |
Y |
INTO CLause for LINQ Queries |
|
INTERNAL |
|
Y |
|
Y |
Class and Member modifier |
|
IS |
Y |
|
|
|
Part of type specification |
|
JOIN |
|
|
Y |
Y |
JOIN Clause for LINQ Query |
|
LET |
|
|
Y |
Y |
LET Clause for LINQ Query |
|
LOCAL |
Y |
|
|
|
Local Variable Declaration |
|
LOCK |
|
Y |
|
Y |
BEGIN LOCK statement |
|
LONG |
Y |
|
|
|
Native Type |
|
LONGINT |
Y |
|
|
|
Native Type |
|
LOOP |
Y |
|
|
|
Goto start of FOR, DO WHILE or REPEAT loop |
|
MEMBER |
Y |
|
|
|
VOSTRUCT fields |
|
MEMVAR |
Y |
|
|
|
dBase Style Variable declararion |
|
METHOD |
Y |
|
|
|
Class Member |
|
MODULE |
|
|
Y |
Y |
Global Attribute Target |
|
NAMEOF |
|
|
Y |
Y |
Return Name of parameter or variable |
|
NAMESPACE |
|
Y |
|
Y |
BEGIN NAMESPACE |
|
NEW |
|
Y |
|
Y |
Class Member modifier |
|
NEXT |
Y |
|
|
|
FOR and FOREACH statement |
|
NIL |
Y |
|
|
|
Empty USUAL |
|
NOP |
|
|
Y |
Y |
"Do Nothing" statement |
|
NULL |
Y |
|
|
|
Untyped NULL Literal |
|
NULL_ARRAY |
Y |
|
|
|
Typed NULL Literal |
|
NULL_CODEBLOCK |
Y |
|
|
|
Typed NULL Literal |
|
NULL_DATE |
Y |
|
|
|
Typed NULL Literal |
|
NULL_OBJECT |
Y |
|
|
|
Typed NULL Literal |
|
NULL_PSZ |
Y |
|
|
|
Typed NULL Literal |
|
NULL_PTR |
Y |
|
|
|
Typed NULL Literal |
|
NULL_STRING |
Y |
|
|
|
Typed NULL Literal |
|
NULL_SYMBOL |
Y |
|
|
|
Typed NULL Literal |
|
OBJECT |
Y |
|
|
|
Native Type |
|
OFF |
|
Y |
|
|
#Pragma command |
|
ON |
|
Y |
|
Y |
#Pragma command |
|
OPERATOR |
|
Y |
|
Y |
Class Member |
|
OPTIONS |
|
Y |
|
|
#Pragma command |
|
ORDERBY |
|
|
Y |
Y |
ORDERBY Class in LINQ Expression |
|
OTHERWISE |
Y |
|
|
|
Default block for DO CASE and SWITCH statements |
|
OVERRIDE |
|
|
Y |
Y |
Class Member modifier |
|
OUT |
|
|
|
Y |
Part of parameter type specification |
|
PARAMETERS |
Y |
|
|
|
dBase style parameter declaration |
|
PARAMS |
|
|
Y |
Y |
Part of parameter type specification |
|
PARTIAL |
|
Y |
|
Y |
Class modifier |
|
PASCAL |
Y |
|
|
Y |
Calling Convention |
|
PCALL |
Y |
|
|
|
Call function through Pointer (untyped) with pascal calling convention |
|
PCALLNATIVE |
|
Y |
|
|
Call function through Pointer (untyped) with pascal calling convention |
|
PCOUNT |
Y |
|
|
|
# of Arguments received by method / function with Clipper Calling Convention |
|
POP |
|
Y |
|
|
#pragma Command |
|
PRIVATE |
Y |
|
|
|
Class or Member modifier, dBase Style Variable declararion |
|
PROC |
Y |
|
|
Y |
Procedure declaration |
|
PROCEDURE |
Y |
|
|
|
Procedure declaration |
|
PROPERTY |
|
Y |
|
Y |
Class Member |
|
PROTECTED |
Y |
|
|
|
Class and Member modifier |
|
PSZ |
Y |
|
|
|
XBase Specific Type |
|
PTR |
Y |
|
|
|
Native Type (unsafe) |
|
PUBLIC |
Y |
|
|
|
Class or Member modifier, dBase Style Variable declararion |
|
PUSH |
|
Y |
|
|
#pragma Command |
|
REAL4 |
Y |
|
|
|
Native Type |
|
REAL8 |
Y |
|
|
|
Native Type |
|
RECOVER |
Y |
|
|
|
BEGIN SEQUENCE ... Statement |
|
REF |
Y |
|
|
|
Part of parameter specification |
|
REMOVE |
|
|
Y |
Y |
REMOVE Part of an Event |
|
REPEAT |
|
Y |
|
|
REPEAT Statement |
|
RETURN |
Y |
|
|
|
RETURN statement |
|
SCOPE |
|
Y |
|
Y |
BEGIN SCOPE statement |
|
SEALED |
|
Y |
|
Y |
Type modifier |
|
SELECT |
|
|
Y |
Y |
SELECT clause of LINQ Query |
|
SELF |
Y |
|
|
|
Reference to SELF object, Also part of Parameters declaration for Extension Methods |
|
SEQUENCE |
Y |
|
|
Y |
BEGIN SEQUENCE ... Statement |
|
SET |
|
Y |
|
Y |
SET Part of a Property |
|
SHORT |
Y |
|
|
|
Native Type |
|
SHORTINT |
Y |
|
|
|
Native Type |
|
SIZEOF |
|
Y |
|
|
Calculate the size of a type |
|
STATIC |
Y |
|
|
|
Class, Member of Variable Modifier |
|
STEP |
Y |
|
|
Y |
FOR .. NEXT statement |
|
STRICT |
Y |
|
|
Y |
Calling Convention |
|
STRING |
Y |
|
|
|
Native Type |
|
STRUCT |
Y |
|
|
|
User Defined Value Type |
|
STRUCTURE |
|
Y |
|
Y |
User Defined Value Type |
|
SUPER |
Y |
|
|
|
Reference to SUPER class |
|
SWITCH |
|
|
Y |
Y |
SWITCH Statement |
|
SYMBOL |
Y |
|
|
|
xBase Type |
|
THISCALL |
Y |
|
|
Y |
Calling convention (obsolete) |
|
TO |
Y |
|
|
|
FOR NEXT statement |
|
THROW |
|
Y |
|
|
Throw an Exception |
|
TRUE |
Y |
|
|
|
Logic Literal |
|
TRY |
|
Y |
|
Y |
TRY ... CATCH statement |
|
TYPEOF |
|
Y |
|
|
Same as _TypeOf() |
|
UINT64 |
|
Y |
|
|
Native Type |
|
UNCHECKED |
|
|
Y |
Y |
Member modifier and BEGIN .. UNCHECKED statement |
|
UNICODE |
|
Y |
|
Y |
Character Encoding flag for _DLL declaration |
|
UNION |
Y |
|
|
Y |
User Defined Value Type |
|
UNSAFE |
|
|
Y |
Y |
Member modifier and BEGIN .. UNSAFE statement |
|
UNTIL |
|
Y |
|
Y |
REPEAT Statement |
|
UPTO |
Y |
|
|
Y |
FOR NEXT statement |
|
USING |
Y |
|
|
Y |
BEGIN .. USING statement and USING <NameSpace> |
|
USUAL |
Y |
|
|
|
XBase Specific Type |
|
VALUE |
|
Y |
|
Y |
Value place holder inside PROPERTY SET methods |
|
VAR |
|
|
Y |
Y |
Variable declaration with implied type |
|
VIRTUAL |
|
Y |
|
Y |
Member Modifier |
|
VOID |
Y |
|
|
|
Native Type |
|
VOLATILE |
|
|
Y |
Y |
Field and Variable modifier |
|
VOSTRUCT |
|
Y |
|
Y |
User Defined Value Type with VO semantics (AS/IS) |
|
WARNINGS |
|
Y |
|
|
#Pragma command |
|
_WINCALL |
Y |
|
|
Y |
Calling Convention (obsolete) |
|
WHERE |
|
|
Y |
Y |
WHERE Clause in LINQ Expressions |
|
WHILE |
Y |
|
|
|
DO WHILE .. Statement |
|
WORD |
Y |
|
|
|
Native Type |
|
YIELD |
|
|
Y |
Y |
YIELD .. EXIT and YIELD .. RETURN statements |
|
__ARGLIST |
|
|
Y |
|
Varargs local variable for functions with ... (Ellipses) parameter |
|
_AND |
Y |
|
|
|
Logical Operator |
|
_CAST |
Y |
|
|
|
Cast operator |
|
_CODEBLOCK |
Y |
|
|
|
xBase Type |
|
_DLL |
Y |
|
|
|
_DLL Function |
|
_FIELD |
Y |
|
|
|
Field prefix to |
|
_GETFPARAM |
|
|
|
|
Gets Parameter in method/function with Clipper calling convention |
|
_GETMPARAM |
|
|
|
|
Gets Parameter in method/function with Clipper calling convention |
|
_INIT1, _INIT2, _INIT3 |
Y |
|
|
|
Procedure statement |
|
_NOT |
Y |
|
|
|
Logical Operator |
|
_OR |
Y |
|
|
|
Logical Operator |
|
_SIZEOF |
Y |
|
|
|
Calculate size of type |
|
_TYPEOF |
Y |
|
|
|
Calculate type of variable |
|
_XOR |
Y |
|
|
|
Logical Operator |
|
.AND. |
Y |
|
|
|
Logical Operator |
|
.F. |
Y |
|
|
|
Logic Literal |
|
.NOT. |
Y |
|
|
|
Logical Operator |
|
.OR. |
Y |
|
|
|
Logical Operator |
|
.T. |
Y |
|
|
|
Logic Literal |
|
.XOR. |
Y |
|
|
|
Logical Operator |
|
... |
Y |
|
|
|
Ellipses (varargs) parameter |
|
#command |
|
Y |
|
|
Preprocessor |
|
#define |
|
Y |
|
|
Preprocessor |
|
#else |
|
Y |
|
|
Preprocessor |
|
#endif |
|
Y |
|
|
Preprocessor |
|
#endregion |
|
Y |
|
|
Preprocessor |
|
#ifdef |
|
Y |
|
|
Preprocessor |
|
#ifndef |
|
Y |
|
|
Preprocessor |
|
#include |
|
Y |
|
|
Preprocessor |
|
#line |
|
Y |
|
|
Preprocessor |
|
#pragma |
|
Y |
|
|
Preprocessor |
|
#region |
|
Y |
|
|
Preprocessor |
|
#translate |
|
Y |
|
|
Preprocessor |
|
#undef |
|
Y |
|
|
Preprocessor |
|
#using |
|
Y |
|
|
Obsolete: use USING in stead |
|
#warning |
|
Y |
|
|
Preprocessor |
|
#xcommand |
|
Y |
|
|
Preprocessor |
|
#xtranslate |
|
Y |
|
|
Preprocessor |